Add range comparison support to stg-mdiff.
[stgit] / contrib / stg-mdiff
1 #!/bin/bash
2 set -e
3
4 # stg-mdiff - display meta-diffs, ie. diffs of diffs
5
6 # Main use: show evolutions of a patch.
7 # eg. stg-mdiff foo@stable foo
8 # stg-mdiff foo 012345567ABCD # sha1 for "foo" as integrated upstream
9
10 # Copyright (c) 2007 Yann Dirson <ydirson@altern.org>
11 # Subject to the GNU GPL, version 2.
12
13 usage()
14 {
15 echo "Usage: $(basename $0) <from1>..[<to1>]|<patch1> <from2>..[<to2>]|<patch2>"
16 exit 1
17 }
18
19 if [ "$#" != 2 ]; then
20 usage
21 fi
22
23 case "$1" in
24 *..*) cmd1="stg diff" ;;
25 *) cmd1="stg show" ;;
26 esac
27 case "$2" in
28 *..*) cmd2="stg diff" ;;
29 *) cmd2="stg show" ;;
30 esac
31
32 colordiff -u <($cmd1 "$1") <($cmd2 "$2") | less -RFX