git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
> 
Previous: Jeff KingNext: Matthieu Moy
Message 5 of 11 in “push: shorten "push.default is unset" warning message”
  1. push: shorten "push.default is unset" warning messageMatthieu Moy, Feb 23, 2016
  2. Junio C HamanoFeb 23, 2016
  3. Matthieu MoyFeb 23, 2016
  4. Jeff KingFeb 24, 2016
  5. Philip OakleyFeb 23, 2016
  6. Matthieu MoyFeb 23, 2016
  7. Documentation/git-push: document that 'simple' is the defaultMatthieu Moy, Feb 23, 2016
  8. 0/2 Remove "push.default unset" warningMatthieu Moy, Feb 25, 2016
  9. 1/2 push: remove "push.default is unset" warning messageMatthieu Moy, Feb 25, 2016
  10. 2/2 Documentation/git-push: document that 'simple' is the defaultMatthieu Moy, Feb 25, 2016
  11. Jeff KingFeb 26, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.