Re: [PATCH] push: shorten "push.default is unset" warning message
- From
Philip Oakley <philipoakley@iee.org>
- Date
- Feb 23, 2016, 20:35 UTC
- Message-ID
- <A8668075C5244F34A8C21A22F91ED823@PhilipOakley>
- In-Reply-To
- <000001530ea408ed-2b71a34a-32bb-434c-bba5-fdac28193e9c-000000@eu-west-1.amazonses.com>
From: "Matthieu Moy" <Matthieu.Moy@imag.fr>
Show 23 quoted lines
> From: Matthieu Moy <matthieu.moy@imag.fr> > > The warning was purposely long, both to explain the situation properly > and to give a strong incentive to set push.default explicitly. This was > important before the 2.0 transition, and remained important for a while > after, so that new users get push.default explicitly in their > configuration and do not experience inconsistent behavior if they ever > used an older version of Git. > > The warning has been there since version 1.8.0 (Oct 2012), hence we can > expect the vast majority of current Git users to have been exposed to > it, and most of them have already set push.default explicitly. The > switch from 'matching' to 'simple' was planned for 2.0 (May 2014), but > actually happened only for 2.3 (Feb 2015). > > The warning is mostly seen by beginners, who have not set their > push.default configuration (yet). For many of them, the warning is > confusing because it talks about concepts that they have not learned and > asks them a choice that they are not able to make yet. See for example > > > http://stackoverflow.com/questions/13148066/warning-push-default-is-unset-its-implicit-value-is-changing-in-git-2-0 >
Shouldn't this also update the 'push' man page to state what the new default is. @gerry's comment to the top answer http://stackoverflow.com/a/13148313/717355 highlights that the word 'simple' is not even mentioned in the 'push' man page.
Show 66 quoted lines
> (1260 votes for the question, 1824 for the answer as of writing)
>
> Shorten the warning and mention only the way to remove the warning
> without changing the behavior. Keep a pointer to the documentation so
> that people willing to learn can still find the alternative behaviors
> easily.
>
> Eventually, the warning should be removed completely, but this can wait
> a couple more releases or years.
>
> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
> ---
> builtin/push.c | 20 +++-----------------
> 1 file changed, 3 insertions(+), 17 deletions(-)
>
> diff --git a/builtin/push.c b/builtin/push.c
> index 960ffc3..00eba2f 100644
> --- a/builtin/push.c
> +++ b/builtin/push.c
> @@ -205,26 +205,12 @@ static void setup_push_current(struct remote
> *remote, struct branch *branch)
> }
>
> static char warn_unspecified_push_default_msg[] =
> -N_("push.default is unset; its implicit value has changed in\n"
> - "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
> - "and maintain the traditional behavior, use:\n"
> - "\n"
> - " git config --global push.default matching\n"
> - "\n"
> - "To squelch this message and adopt the new behavior now, use:\n"
> +N_("push.default is unset; its default value has changed in Git 2.0
> from\n"
> + "'matching' to 'simple'. To squelch this message and adopt the new
> behavior, use:\n"
> "\n"
> " git config --global push.default simple\n"
> "\n"
> - "When push.default is set to 'matching', git will push local
> branches\n"
> - "to the remote branches that already exist with the same name.\n"
> - "\n"
> - "Since Git 2.0, Git defaults to the more conservative 'simple'\n"
> - "behavior, which only pushes the current branch to the
> corresponding\n"
> - "remote branch that 'git pull' uses to update the current branch.\n"
> - "\n"
> - "See 'git help config' and search for 'push.default' for further
> information.\n"
> - "(the 'simple' mode was introduced in Git 1.7.11. Use the similar
> mode\n"
> - "'current' instead of 'simple' if you sometimes use older versions of
> Git)");
> + "See 'git help config' and search for 'push.default' for further
> information.");
>
> static void warn_unspecified_push_default_configuration(void)
> {
>
> --
> https://github.com/git/git/pull/201
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>