about summary refs log tree commit diff
path: root/xdiff
blob: 626e2e595e3044e3ff2a5ee7251ea970e54ffd8d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
# xdiff [-u|-l] [DIR] - merge/diff/list XBPS .new-* files

mergeutil() {
	vim -d "$1" "$2" && rm -vi "$1"
}

listutil() {
	printf '%s\n' "$1"
}

if [ "$1" = -u ]; then
	shift
	DIFF="diff -u"
elif [ "$1" = -l ]; then
	shift
	DIFF=listutil
else
	DIFF=mergeutil
fi

DIR=${1:-/etc}

for newfile in $(find "$DIR" -name '*.new-*_*' | sort -V); do
	$DIFF "$newfile" "${newfile%.new-*_*}"
done