summaryrefslogtreecommitdiff
path: root/bin/diffdir
diff options
context:
space:
mode:
Diffstat (limited to 'bin/diffdir')
-rwxr-xr-xbin/diffdir21
1 files changed, 20 insertions, 1 deletions
diff --git a/bin/diffdir b/bin/diffdir
index d1a8ae2..cbe03b7 100755
--- a/bin/diffdir
+++ b/bin/diffdir
@@ -32,6 +32,20 @@ diffdir() {
#key ~ /[cps]/ { print "changed " prefix file }'
}
+last() {
+ i=0 m=0
+ case $1 in
+ ([0-9]|[1-9][0-9]) m=$((m + $1)) ;;
+ ("") ;;
+ (*) echo "$1"; return ;;
+ esac
+ for l in $vlist; do
+ [ $i -ge $m ] && break
+ i=$((i + 1))
+ done
+ echo "$dest/$l"
+}
+
while getopts :V opt; do
case $opt in
(V) echo "$Version"; exit ;;
@@ -40,4 +54,9 @@ while getopts :V opt; do
done
shift $((OPTIND - 1))
-diffdir "$1" "$2"
+dest=/.history
+vlist=$(rsync --list-only "$dest/" 2>/dev/null | cut -b 47- | tac)
+
+old=$(last "$1") new=$(last "${2:-/}")
+echo "diffdir" "$old" "$new"
+diffdir "$old" "$new"