Skip to content

Commit 9f92f15

Browse files
author
Junio C Hamano
committed
Make 'git diff --cached' synonymous to 'git diff --cached HEAD'.
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>
1 parent 2c08b36 commit 9f92f15

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

git-diff.sh

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,21 @@ files=$(git-rev-parse --no-revs --no-flags --sq "$@")
99

1010
: ${flags:="'-M' '-p'"}
1111

12+
# I often say 'git diff --cached -p' and get scolded by git-diff-files, but
13+
# obviously I mean 'git diff --cached -p HEAD' in that case.
14+
case "$rev" in
15+
'')
16+
case " $flags " in
17+
*" '--cached' "*)
18+
rev='HEAD '
19+
;;
20+
esac
21+
esac
22+
1223
case "$rev" in
1324
?*' '?*' '?*)
14-
die "I don't understand"
25+
echo >&2 "I don't understand"
26+
exit 1
1527
;;
1628
?*' '^?*)
1729
begin=$(expr "$rev" : '.*^.\([0-9a-f]*\).*') &&

0 commit comments

Comments
 (0)