>From now on, those who has not set commit.ignoreIntentToAdd can commit as-is even if there are intent-to-add entries. Users are advised/annoyed to switch to new behavior. Support for "commit.ignoreIntentToAdd = true" will be dropped in future. The placeholder "FIXME" needs to be replaced when it's decided what release will drop config support. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- Documentation/config.txt | 5 ++--- builtin/commit.c | 13 ++++++++----- t/t2203-add-intent.sh | 4 ++-- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Documentation/config.txt b/Documentation/config.txt index 6ec81a8..f9a05ac 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -837,9 +837,8 @@ commit.ignoreIntentToAdd:: in index. Set to `false` to disallow commit in this acase, or `true` to allow it. + -By default, `git commit` refuses to commit as-is when you have intent-to-add -entries. This will change in 1.8.0, where `git commit` allows it. If you -prefer current behavior, please set it to `false`. +By default, `git commit` allows to commit as-is when you have intent-to-add +entries. Support for this configuration variable will be dropped in FIXME. credential.helper:: Specify an external helper to be called when a username or diff --git a/builtin/commit.c b/builtin/commit.c index af3250c..eb0ca49 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -423,17 +423,17 @@ static char *prepare_index(int argc, const char **argv, const char *prefix, if (!pathspec || !*pathspec) { fd = hold_locked_index(&index_lock, 1); refresh_cache_or_die(refresh_flags); - if (!set_commit_ignoreintenttoadd) { + if (!(cache_tree_flags & WRITE_TREE_IGNORE_INTENT_TO_ADD)) { int i; for (i = 0; i < active_nr; i++) if (active_cache[i]->ce_flags & CE_INTENT_TO_ADD) break; if (i < active_nr) warning(_("You are committing as-is with intent-to-add entries as the result of\n" - "\"git add -N\". Git currently forbids this case. This will change in\n" - "1.8.0 where intent-to-add entries are simply ignored when committing\n" - "as-is. Please look up document and set commit.ignoreIntentToAdd\n" - "properly to stop this warning.")); + "\"git add -N\". Git currently forbids this case. But this is deprecated\n" + "support for this behavior will be dropped in FIXME.\n" + "Please look up document and set commit.ignoreIntentToAdd to true\n" + "or remove it.")); } if (active_cache_changed) { update_main_cache_tree(cache_tree_flags | WRITE_TREE_SILENT); @@ -1423,6 +1423,9 @@ int cmd_commit(int argc, const char **argv, const char *prefix) git_config(git_commit_config, &s); determine_whence(&s); + if (!set_commit_ignoreintenttoadd) + cache_tree_flags |= WRITE_TREE_IGNORE_INTENT_TO_ADD; + if (get_sha1("HEAD", sha1)) current_head = NULL; else { diff --git a/t/t2203-add-intent.sh b/t/t2203-add-intent.sh index 88a508e..09b8bbf 100755 --- a/t/t2203-add-intent.sh +++ b/t/t2203-add-intent.sh @@ -41,11 +41,11 @@ test_expect_success 'cannot commit with i-t-a entry' ' echo frotz >nitfol && git add rezrov && git add -N nitfol && - test_must_fail git commit -minitial + git commit -minitial ' test_expect_success 'can commit tree with i-t-a entry' ' - git reset --hard && + git reset --hard HEAD^ && echo xyzzy >rezrov && echo frotz >nitfol && git add rezrov && -- 1.7.8.36.g69ee2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html