commit: disable status hints when writing to COMMIT_EDITMSG

This turns the template COMMIT_EDITMSG from e.g # [...] # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: builtin/commit.c # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # t/foo # to # [...] # Changes to be committed: # modified: builtin/commit.c # # Untracked files: # t/foo # Most status hints were written to be accurate when running "git status" before running a commit. Many of them are not applicable when the commit has already been started, and should not be shown in COMMIT_EDITMSG. The most obvious are hints advising to run "git commit", "git rebase/am/cherry-pick --continue", which do not make sense when the command has already been run. Other messages become slightly inaccurate (e.g. hint to use "git add" to add untracked files), as the suggested commands are not immediately applicable during the editing of COMMIT_EDITMSG, but would be applicable if the commit is aborted. These messages are both potentially helpful and slightly misleading. This patch chose to remove them too, to avoid introducing too much complexity in the status code. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Matthieu Moy committed Sep 12, 2013 at 12:50 UTC ea9882bfc4d2850b65eac29ac5152e0d778a744b
1 file changed +6
builtin/commit.c
+6
@@ -705,6 +705,12 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
705 if (s->fp == NULL)
706 die_errno(_("could not open '%s'"), git_path(commit_editmsg));
707
708 + /*
709 + * Most hints are counter-productive when the commit has
710 + * already started.
711 + */
712 + s->hints = 0;
713 +
714 if (clean_message_contents)
715 stripspace(&sb, 0);
716