X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/67e5c1c662186cd78b193d87cecd1d3097b909da..4a8e79dc3b13208701ca41ac5cfc15bb270238cd:/contrib/stg-mdiff diff --git a/contrib/stg-mdiff b/contrib/stg-mdiff index 9bb324a..74d7f77 100755 --- a/contrib/stg-mdiff +++ b/contrib/stg-mdiff @@ -12,21 +12,40 @@ set -e usage() { - echo "Usage: $(basename $0) ..[]| ..[]|" + echo "Usage: [-o ] [-O ] $(basename $0) ..[]| ..[]|" exit 1 } +diffopts= +subdiffopts= +while [ "$#" -gt 0 ]; do + case "$1" in + -o) diffopts="$2"; shift ;; + -O) subdiffopts="-O $2"; shift ;; + -*) usage ;; + *) break ;; + esac + shift +done + if [ "$#" != 2 ]; then usage fi +if [ -z "$diffopts" ]; then + diffopts="-u" +fi + case "$1" in -*..*) cmd1="stg diff" ;; -*) cmd1="stg show" ;; +*..*) cmd1="stg diff $subdiffopts -r" ;; +*) cmd1="stg show $subdiffopts" ;; esac case "$2" in -*..*) cmd2="stg diff" ;; -*) cmd2="stg show" ;; +*..*) cmd2="stg diff $subdiffopts -r" ;; +*) cmd2="stg show $subdiffopts" ;; esac -colordiff -u <($cmd1 "$1") <($cmd2 "$2") | less -RFX +colordiff $diffopts \ + -I '^index [0-9a-b]*..[0-9a-b]*' \ + -I '^@@ .* @@' \ + <($cmd1 "$1") <($cmd2 "$2") | less -RFX