chiark / gitweb /
Improve the t1205 test for push
[stgit] / contrib / stg-whatchanged
index f80d0a1a191f3a1ac38a85167e474431114fc217..afeda2c99cff51580a495da47ac6732f309a9dbf 100755 (executable)
@@ -23,15 +23,11 @@ fi
 
 # Merges via "push" leave top=bottom so we must look at old patch
 # in this case (unlike, eg., "pick --fold")
-patchdir="$(git-rev-parse --git-dir)/patches/$(stg branch)/$(stg top)"
-if [ $(cat "$patchdir/bottom") = $(cat "$patchdir/top") ];
-then
-    current_cmd="stg show //top.old"
-else
-    current_cmd="stg show"
-fi
+patchdir="$(git-rev-parse --git-dir)/patches/$(stg branch)/patches/$(stg top)"
+case $(stg log | head -n1) in
+    *push\(c\)*) former="//top.old" ;;
+    *) former="//top" ;;
+esac
 
-colordiff "$@" \
-    -I '^index [0-9a-b]*..[0-9a-b]*' \
-    -I '^@@ .* @@' \
-    <($current_cmd) <(stg diff -r//bottom) | less -RFX
+stg-mdiff -o "$*" \
+    $former //bottom..