diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2016-10-24 17:42:20 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-10-24 10:47:51 -0700 |
commit | b42b45191950a4ac39f6f5ae042c15ad114da79b (patch) | |
tree | d79debd6827d00ec3f5d4b9595bc2680c0d490b8 | |
parent | 425a28e0a4edfc39585cec6b0b6368c0ad9dbf7e (diff) | |
download | git-b42b45191950a4ac39f6f5ae042c15ad114da79b.tar.gz git-b42b45191950a4ac39f6f5ae042c15ad114da79b.tar.xz |
diff: add --ita-[in]visible-in-index
The option --ita-invisible-in-index exposes the "ita_invisible_in_index"
diff flag to outside to allow easier experimentation with this new mode.
The "plan" is to make --ita-invisible-in-index default to keep consistent
behavior with 'status' and 'commit', but a bunch other commands like
'apply', 'merge', 'reset'.... need to be taken into consideration as well.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | Documentation/diff-options.txt | 8 | ||||
-rw-r--r-- | diff.c | 4 | ||||
-rwxr-xr-x | t/t2203-add-intent.sh | 4 |
3 files changed, 15 insertions, 1 deletions
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index 2d77a1962..b249f6a2e 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -570,5 +570,13 @@ endif::git-format-patch[] --line-prefix=<prefix>:: Prepend an additional prefix to every line of output. +--ita-invisible-in-index:: + By default entries added by "git add -N" appear as an existing + empty file in "git diff" and a new file in "git diff --cached". + This option makes the entry appear as a new file in "git diff" + and non-existent in "git diff --cached". This option could be + reverted with `--ita-visible-in-index`. Both options are + experimental and could be removed in future. + For more detailed explanation on these common options, see also linkgit:gitdiffcore[7]. @@ -3951,6 +3951,10 @@ int diff_opt_parse(struct diff_options *options, return parse_submodule_opt(options, arg); else if (skip_prefix(arg, "--ws-error-highlight=", &arg)) return parse_ws_error_highlight(options, arg); + else if (!strcmp(arg, "--ita-invisible-in-index")) + options->ita_invisible_in_index = 1; + else if (!strcmp(arg, "--ita-visible-in-index")) + options->ita_invisible_in_index = 0; /* misc options */ else if (!strcmp(arg, "-z")) diff --git a/t/t2203-add-intent.sh b/t/t2203-add-intent.sh index 2276e4e6b..0e54f63cf 100755 --- a/t/t2203-add-intent.sh +++ b/t/t2203-add-intent.sh @@ -57,7 +57,9 @@ test_expect_success 'i-t-a entry is simply ignored' ' git add -N nitfol && git commit -m second && test $(git ls-tree HEAD -- nitfol | wc -l) = 0 && - test $(git diff --name-only HEAD -- nitfol | wc -l) = 1 + test $(git diff --name-only HEAD -- nitfol | wc -l) = 1 && + test $(git diff --name-only --ita-invisible-in-index HEAD -- nitfol | wc -l) = 0 && + test $(git diff --name-only --ita-invisible-in-index -- nitfol | wc -l) = 1 ' test_expect_success 'can commit with an unrelated i-t-a entry in index' ' |