git/t/t4013
Nguyễn Thái Ngọc Duy a2b7a3b3a9 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>
2011-02-07 15:04:30 -08:00
..
diff.config_format.subjectprefix_DIFFERENT_PREFIX
…
diff.diff-tree_--cc_--patch-with-stat_--summary_master
…
diff.diff-tree_--cc_--patch-with-stat_--summary_side
…
diff.diff-tree_--cc_--patch-with-stat_master
…
diff.diff-tree_--cc_--stat_--summary_master
…
diff.diff-tree_--cc_--stat_--summary_side
…
diff.diff-tree_--cc_--stat_master
…
diff.diff-tree_--cc_master
…
diff.diff-tree_--patch-with-raw_initial
…
diff.diff-tree_--patch-with-stat_initial
…
diff.diff-tree_--pretty=oneline_--patch-with-raw_initial
…
diff.diff-tree_--pretty=oneline_--patch-with-stat_initial
…
diff.diff-tree_--pretty=oneline_--root_--patch-with-raw_initial
…
diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial
…
diff.diff-tree_--pretty=oneline_--root_-p_initial
…
diff.diff-tree_--pretty=oneline_--root_initial
…
diff.diff-tree_--pretty=oneline_-p_initial
…
diff.diff-tree_--pretty=oneline_initial
…
diff.diff-tree_--pretty_--patch-with-raw_initial
…
diff.diff-tree_--pretty_--patch-with-stat_initial
…
diff.diff-tree_--pretty_--patch-with-stat_side
…
diff.diff-tree_--pretty_--root_--patch-with-raw_initial
…
diff.diff-tree_--pretty_--root_--patch-with-stat_initial
…
diff.diff-tree_--pretty_--root_--stat_--summary_initial
…
diff.diff-tree_--pretty_--root_--stat_initial
…
diff.diff-tree_--pretty_--root_--summary_-r_initial
…
diff.diff-tree_--pretty_--root_--summary_initial
…
diff.diff-tree_--pretty_--root_-p_initial
…
diff.diff-tree_--pretty_--root_initial
…
diff.diff-tree_--pretty_--stat_--summary_initial
…
diff.diff-tree_--pretty_--stat_initial
…
diff.diff-tree_--pretty_--summary_initial
…
diff.diff-tree_--pretty_-p_initial
…
diff.diff-tree_--pretty_-p_side
…
diff.diff-tree_--pretty_initial
…
diff.diff-tree_--pretty_side
…
diff.diff-tree_--root_--abbrev_initial
…
diff.diff-tree_--root_--patch-with-raw_initial
…
diff.diff-tree_--root_--patch-with-stat_initial
…
diff.diff-tree_--root_-p_initial
…
diff.diff-tree_--root_-r_--abbrev=4_initial
…
diff.diff-tree_--root_-r_--abbrev_initial
…
diff.diff-tree_--root_-r_initial
…
diff.diff-tree_--root_initial
…
diff.diff-tree_-c_--abbrev_master
…
diff.diff-tree_-c_--stat_--summary_master
…
diff.diff-tree_-c_--stat_--summary_side
…
diff.diff-tree_-c_--stat_master
…
diff.diff-tree_-c_master
…
diff.diff-tree_-p_-m_master
…
diff.diff-tree_-p_initial
…
diff.diff-tree_-p_master
…
diff.diff-tree_-r_--abbrev=4_initial
…
diff.diff-tree_-r_--abbrev_initial
…
diff.diff-tree_-r_initial
…
diff.diff-tree_initial
…
diff.diff-tree_master
…
diff.diff_--abbrev_initial..side
…
diff.diff_--cached diff: support --cached on unborn branches 2011-02-07 15:04:30 -08:00
diff.diff_--cached_--_file0 diff: support --cached on unborn branches 2011-02-07 15:04:30 -08:00
diff.diff_--dirstat_master~1_master~2 Test diff --dirstat functionality 2009-02-20 00:02:48 -08:00
diff.diff_--name-status_dir2_dir "git diff": do not ignore index without --no-index 2008-05-24 00:16:39 -07:00
diff.diff_--no-index_--name-status_--_dir2_dir diff: accept -- when using --no-index 2009-01-06 23:18:20 -08:00
diff.diff_--no-index_--name-status_dir2_dir "git diff": do not ignore index without --no-index 2008-05-24 00:16:39 -07:00
diff.diff_--no-index_dir_dir3 Skip timestamp differences for diff --no-index 2009-02-18 10:55:33 -08:00
diff.diff_--patch-with-raw_-r_initial..side
…
diff.diff_--patch-with-raw_initial..side
…
diff.diff_--patch-with-stat_-r_initial..side
…
diff.diff_--patch-with-stat_initial..side
…
diff.diff_--stat_initial..side
…
diff.diff_-r_--stat_initial..side
…
diff.diff_-r_initial..side
…
diff.diff_initial..side
…
diff.diff_master_master^_side "git diff <tree>{3,}": do not reverse order of arguments 2008-10-12 12:36:19 -07:00
diff.format-patch_--attach_--stdout_--suffix=.diff_initial..side format-patch: --attach/inline uses filename instead of SHA1 2009-03-22 21:45:19 -07:00
diff.format-patch_--attach_--stdout_initial..master format-patch: --attach/inline uses filename instead of SHA1 2009-03-22 21:45:19 -07:00
diff.format-patch_--attach_--stdout_initial..master^ format-patch: --attach/inline uses filename instead of SHA1 2009-03-22 21:45:19 -07:00
diff.format-patch_--attach_--stdout_initial..side format-patch: --attach/inline uses filename instead of SHA1 2009-03-22 21:45:19 -07:00
diff.format-patch_--inline_--stdout_--numbered-files_initial..master format-patch: --numbered-files and --stdout aren't mutually exclusive 2009-03-22 21:46:02 -07:00
diff.format-patch_--inline_--stdout_--subject-prefix=TESTCASE_initial..master format-patch: --attach/inline uses filename instead of SHA1 2009-03-22 21:45:19 -07:00
diff.format-patch_--inline_--stdout_initial..master format-patch: --attach/inline uses filename instead of SHA1 2009-03-22 21:45:19 -07:00
diff.format-patch_--inline_--stdout_initial..master^ format-patch: --attach/inline uses filename instead of SHA1 2009-03-22 21:45:19 -07:00
diff.format-patch_--inline_--stdout_initial..master^^ format-patch: --attach/inline uses filename instead of SHA1 2009-03-22 21:45:19 -07:00
diff.format-patch_--inline_--stdout_initial..side format-patch: --attach/inline uses filename instead of SHA1 2009-03-22 21:45:19 -07:00
diff.format-patch_--stdout_--cover-letter_-n_initial..master^ format-patch: Add a signature option (--signature) 2010-06-16 10:08:59 -07:00
diff.format-patch_--stdout_--no-numbered_initial..master format-patch: autonumber by default 2008-10-18 07:18:03 -07:00
diff.format-patch_--stdout_--numbered_initial..master format-patch: autonumber by default 2008-10-18 07:18:03 -07:00
diff.format-patch_--stdout_initial..master format-patch: autonumber by default 2008-10-18 07:18:03 -07:00
diff.format-patch_--stdout_initial..master^ format-patch: autonumber by default 2008-10-18 07:18:03 -07:00
diff.format-patch_--stdout_initial..side
…
diff.log_--decorate=full_--all Let --decorate show HEAD position 2009-10-12 16:22:35 -07:00
diff.log_--decorate_--all Let --decorate show HEAD position 2009-10-12 16:22:35 -07:00
diff.log_--patch-with-stat_--summary_master_--_dir_ log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.log_--patch-with-stat_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.log_--patch-with-stat_master_--_dir_ log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.log_--root_--cc_--patch-with-stat_--summary_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.log_--root_--patch-with-stat_--summary_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.log_--root_--patch-with-stat_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.log_--root_-c_--patch-with-stat_--summary_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.log_--root_-p_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.log_--root_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.log_-GF_-p_--pickaxe-all_master diff/log -G<pattern>: tests 2010-08-31 14:30:29 -07:00
diff.log_-GF_-p_master diff/log -G<pattern>: tests 2010-08-31 14:30:29 -07:00
diff.log_-GF_master diff/log -G<pattern>: tests 2010-08-31 14:30:29 -07:00
diff.log_-SF_-p_master
…
diff.log_-SF_master
…
diff.log_-S_F_master diff: parse separate options like -S foo 2010-08-06 09:14:22 -07:00
diff.log_-m_-p_--first-parent_master t4013: add tests for log -p -m --first-parent 2010-03-09 01:11:18 -08:00
diff.log_-m_-p_master t4013: add tests for log -p -m --first-parent 2010-03-09 01:11:18 -08:00
diff.log_-p_--first-parent_master t4013: add tests for log -p -m --first-parent 2010-03-09 01:11:18 -08:00
diff.log_-p_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.log_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.rev-list_--children_HEAD Test rev-list --parents/--children 2009-02-20 00:02:48 -08:00
diff.rev-list_--parents_HEAD Test rev-list --parents/--children 2009-02-20 00:02:48 -08:00
diff.show_--first-parent_master show --first-parent/-m: do not default to --cc 2010-03-09 01:11:19 -08:00
diff.show_--patch-with-raw_side
…
diff.show_--patch-with-stat_--summary_side
…
diff.show_--patch-with-stat_side
…
diff.show_--root_initial
…
diff.show_--stat_--summary_side
…
diff.show_--stat_side
…
diff.show_-c_master show -c: show patch text 2010-03-09 01:11:18 -08:00
diff.show_-m_master show --first-parent/-m: do not default to --cc 2010-03-09 01:11:19 -08:00
diff.show_initial
…
diff.show_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.show_side
…
diff.whatchanged_--patch-with-stat_--summary_master_--_dir_
…
diff.whatchanged_--patch-with-stat_master
…
diff.whatchanged_--patch-with-stat_master_--_dir_
…
diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.whatchanged_--root_--patch-with-stat_--summary_master
…
diff.whatchanged_--root_--patch-with-stat_master
…
diff.whatchanged_--root_-c_--patch-with-stat_--summary_master log: do not print ellipses with --abbrev-commit 2009-02-13 17:18:22 -08:00
diff.whatchanged_--root_-p_master
…
diff.whatchanged_--root_master
…
diff.whatchanged_-SF_-p_master
…
diff.whatchanged_-SF_master
…
diff.whatchanged_-p_master
…
diff.whatchanged_master
…