# [PATCH] Fix "git-diff-script A B"

1 messages from 2005-08-23 to 2005-08-23. Participants: Junio C Hamano.
Thread: https://gitlist.dev/t/1616

## Junio C Hamano, 2005-08-23 01:07

Subject: [PATCH] Fix "git-diff-script A B"
Message-ID: <7vzmr9zcj3.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vzmr9zcj3.fsf%40assigned-by-dhcp.cox.net

```
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>

---

 git-diff-script |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

30e852431bd6b6f8395646749c5baa8cfca88b51
diff --git a/git-diff-script b/git-diff-script
--- a/git-diff-script
+++ b/git-diff-script
@@ -8,8 +8,14 @@ case "${#rev[*]}" in
 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"

```
