Nguyen Thai Ngoc Duy <> writes:

> On Fri, Oct 05, 2012 at 01:03:28PM -0700, Junio C Hamano wrote:
>> OK, the messages are supposed to advise how to turn them off, so we
>> would want some code updates in that case.
> Something like this? It turns out none of the advice messages says
> anything about advice.*.

Personally, I'm fine with the current situation. Advanced users can read
the documentation, and for others, the messages are usually more helpful
than annoying.

> This patch makes many output more verbose/annoying,

For example, it makes the output of git status look like:

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#   Set advice.statusHints to false to turn off this message
#       modified:   foo.txt
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#   Set advice.statusHints to false to turn off this message
#       modified:   foo.txt
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#   Set advice.statusHints to false to turn off this message
#       bar.txt

I think it's going really too far in verbosity, the actual information
is hidden by the advices.

> (which is good, more motivation to turn advice off).

I disagree. Having advices turned on doesn't harm anyone. I don't
remember anyone complaining about the verbosity of Git's advices. I've
seen *many* more people complaining about the user-unfriendliness of

I'm fine with very verbose (and scary) messages when the user did
something wrong (for example, the advice.implicitIdentity is something
you should never see if you configured Git properly before commiting).
But the user should not feel blamed for using the default configuration
of advice messages. The tripple repetition in "git status" shown above
really sounds like "hey, dumb user, why did you not set
advice.statusHints already", and is doubly scary for newbies, because
they are not told how to set the variable, nor what a config variable is
to Git.

I understand the motivation of making the advice.* section of "man
git-config" more easily discoverable, but then picking a reasonable
subset of the advice messages (e.g. places that are already verbose
anyway, and not places that total beginners would see on a daily basis
like "git status") would be much better than targetting exhaustivity

> @@ -89,7 +90,9 @@ void detach_advice(const char *new_name)
>       "state without impacting any branches by performing another 
> checkout.\n\n"
>       "If you want to create a new branch to retain commits you create, you 
> may\n"
>       "do so (now or later) by using -b with the checkout command again. 
> Example:\n\n"
> -     "  git checkout -b new_branch_name\n\n";
> +     "  git checkout -b new_branch_name\n"
> +     "Set either advice.detachedHead to false to turn off this message\n\n"

Wrong cut-and paste from "... either XXX or YYY ..."? (repeated several
times below).

Matthieu Moy
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to