Fix "git-diff-script A B" When "git-diff-script A..B" notation was introduced, it ended up breaking the traditional two revisions notation. [jc: there are other issues with the current "git diff" I would like to address, but they would be left to later rounds. For example, -M and -p flags should not be hardcoded default, and it shouldn't be too hard to rewrite the script without using shell arrays.] Signed-off-by: Junio C Hamano <junkio@cox.net>
diff --git a/git-diff-script b/git-diff-script index 926f594..99ff264 100755 --- a/git-diff-script +++ b/git-diff-script
@@ -8,8 +8,14 @@ 1) git-diff-cache -M -p "$@";; 2) - begin=$(echo "${rev[1]}" | tr -d '^') - end="${rev[0]}" + case "${rev[1]}" in + ^?*) + begin=$(echo "${rev[1]}" | tr -d '^') + end="${rev[0]}" ;; + *) + begin="${rev[0]}" + end="${rev[1]}" ;; + esac git-diff-tree -M -p $flags $begin $end $files;; *) echo "I don't understand"