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

[PATCH] push: shorten "push.default is unset" warning message

From
Matthieu Moy <matthieu.moy@imag.fr>
Date
Feb 23, 2016, 14:59 UTC
Message-ID
<000001530ea408ed-2b71a34a-32bb-434c-bba5-fdac28193e9c-000000@eu-west-1.amazonses.com>
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
(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
Next: Junio C Hamano
Message 1 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.