]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
src/bin/duffman: Allow diffing two git references
authorAlejandro Colomar <alx@kernel.org>
Fri, 10 Jan 2025 00:53:14 +0000 (01:53 +0100)
committerAlejandro Colomar <alx@kernel.org>
Sat, 11 Jan 2025 19:00:54 +0000 (20:00 +0100)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
src/bin/duffman

index a27cb2f06b4415a7949fa02a6ef60e73d053f0fb..273758d14993a7ea1e7e1bc1ec426b0609b984de 100755 (executable)
@@ -22,7 +22,7 @@ while getopts "sU:w" opt; do
 done;
 shift $((OPTIND-1));
 
-if test $# -gt 1; then
+if test $# -gt 2; then
        >&2 echo "$(basename "$0"): error: Too many arguments.";
        exit 1;
 fi;
@@ -35,15 +35,17 @@ test -v MAN_KEEP_FORMATTING || export MAN_KEEP_FORMATTING=1;
 opts=($s $w $u);
 
 case $# in
-0)  git diff --name-only;
-*)  git diff --name-only "$1^..$1";
+0)  git diff --name-only;              ;;
+1)  git diff --name-only "$1^..$1";    ;;
+*)  git diff --name-only "$1..$2";     ;;
 esac \
 | grep -E '(\.[[:digit:]]([[:alpha:]][[:alnum:]]*)?\>|\.man)+(\.man|\.in)*$' \
 | sortman \
 | while read f; do \
        case $# in
        0)  old="HEAD:$f";  new="./$f";   ;;
-       *)  old="$1^:$f";   new="$1:$f";  ;;
+       1)  old="$1^:$f";   new="$1:$f";  ;;
+       *)  old="$1:$f";    new="$2:$f";  ;;
        esac;
 
        case $# in