summaryrefslogtreecommitdiff
path: root/Documentation/git-diff.txt
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2011-02-03 06:23:34 (GMT)
committerJunio C Hamano <gitster@pobox.com>2011-02-07 23:04:30 (GMT)
commita2b7a3b3a966c5801efe968d4b5656fa5a885409 (patch)
tree10fa9f1407f71ccec95459533dddf9c956f3559d /Documentation/git-diff.txt
parent2e9c8789b7b0d4d3cd2f951e1694387686e2d740 (diff)
downloadgit-a2b7a3b3a966c5801efe968d4b5656fa5a885409.zip
git-a2b7a3b3a966c5801efe968d4b5656fa5a885409.tar.gz
git-a2b7a3b3a966c5801efe968d4b5656fa5a885409.tar.bz2
diff: support --cached on unborn branches
"git diff --cached" (without revision) used to mean "git diff --cached HEAD" (i.e. the user was too lazy to type HEAD). This "correctly" failed when there was no commit yet. But was that correctness useful? This patch changes the definition of what particular command means. It is a request to show what _would_ be committed without further "git add". The internal implementation is the same "git diff --cached HEAD" when HEAD exists, but when there is no commit yet, it compares the index with an empty tree object to achieve the desired result. Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-diff.txt')
-rw-r--r--Documentation/git-diff.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt
index f6ac847..4910510 100644
--- a/Documentation/git-diff.txt
+++ b/Documentation/git-diff.txt
@@ -38,6 +38,8 @@ directories. This behavior can be forced by --no-index.
commit relative to the named <commit>. Typically you
would want comparison with the latest commit, so if you
do not give <commit>, it defaults to HEAD.
+ If HEAD does not exist (e.g. unborned branches) and
+ <commit> is not given, it shows all staged changes.
--staged is a synonym of --cached.
'git diff' [--options] <commit> [--] [<path>...]::