summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2c08b36)
raw | patch | inline | side by side (parent: 2c08b36)
author | Junio C Hamano <junkio@cox.net> | |
Fri, 23 Sep 2005 07:53:02 +0000 (00:53 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Fri, 23 Sep 2005 07:53:02 +0000 (00:53 -0700) |
When making changes to different files (i.e. dirty working tree) and
committing logically separate changes in groups, often it is necessary
to run 'git diff --cached HEAD' to make sure that the changes being
committed makes sense. Saying 'git diff --cached' by mistake gives
rather uninformative error message from git-diff-files complaining it
does not understand --cached flag.
Signed-off-by: Junio C Hamano <junkio@cox.net>
committing logically separate changes in groups, often it is necessary
to run 'git diff --cached HEAD' to make sure that the changes being
committed makes sense. Saying 'git diff --cached' by mistake gives
rather uninformative error message from git-diff-files complaining it
does not understand --cached flag.
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-diff.sh | patch | blob | history |
diff --git a/git-diff.sh b/git-diff.sh
index 9732c8ac3110e9beb65221c7528812a4655eab13..84a152af206166e88701b27acdc7d2b033e90bab 100755 (executable)
--- a/git-diff.sh
+++ b/git-diff.sh
: ${flags:="'-M' '-p'"}
+# I often say 'git diff --cached -p' and get scolded by git-diff-files, but
+# obviously I mean 'git diff --cached -p HEAD' in that case.
+case "$rev" in
+'')
+ case " $flags " in
+ *" '--cached' "*)
+ rev='HEAD '
+ ;;
+ esac
+esac
+
case "$rev" in
?*' '?*' '?*)
- die "I don't understand"
+ echo >&2 "I don't understand"
+ exit 1
;;
?*' '^?*)
begin=$(expr "$rev" : '.*^.\([0-9a-f]*\).*') &&