threads / patch / 1616

patchFix "git-diff-script A B"

Subject: [PATCH] Fix "git-diff-script A B"

## tl;dr

One message between Aug 23, 2005 and Aug 23, 2005. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Junio C Hamano· Aug 23, 2005, 01:07 UTC · lore

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
Show changes to git-diff-script +8 −2
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"

← back to recent threads