From: Matthieu Moy <Matthieu.Moy@imag.fr>
To: git@vger.kernel.org, gitster@pobox.com
Cc: Jeff King <peff@peff.net>,
Michael Haggerty <mhagger@alum.mit.edu>,
Matthieu Moy <Matthieu.Moy@imag.fr>
Subject: [PATCH 4/4] push: start warning upcoming default change for push.default
Date: Fri, 20 Apr 2012 16:59:04 +0200 [thread overview]
Message-ID: <1334933944-13446-5-git-send-email-Matthieu.Moy@imag.fr> (raw)
In-Reply-To: <1334933944-13446-1-git-send-email-Matthieu.Moy@imag.fr>
In preparation for flipping the default to the "simple" mode from
the "matching" mode that is the historical default, start warning
users when they rely on unconfigured "git push" to default to the
"matching" mode.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
I've documented the upcomming change in Documentation/config.txt in
addition to the warning.
Documentation/config.txt | 6 ++++--
builtin/push.c | 23 +++++++++++++++++++++++
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 05d1472..bda3f47 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1686,7 +1686,8 @@ push.default::
repository, but may give surprising results when used on a
repository shared by multiple users, since locally stalled
branches will attempt a non-fast forward push if other users
- updated the branch remotely. This is the default.
+ updated the branch remotely. This is currently the default, but Git
+ 2.0 will change the default to `simple`.
* `upstream` - push the current branch to its upstream branch. See
"branch.<name>.merge" for how to configure the upstream branch. This
makes `git push` and `git pull` symmetrical in the sense that `push`
@@ -1699,7 +1700,8 @@ push.default::
conservative and safer way than `matching`.
* `simple` - like `upstream`, but refuses to push if the upstream
branch's name is different from the local one. This is the safest
- option and is well-suited for beginners.
+ option and is well-suited for beginners. It will become the default
+ in Git 2.0.
rebase.stat::
Whether to show a diffstat of what changed upstream since the last
diff --git a/builtin/push.c b/builtin/push.c
index ba0d6a0..23cedf0 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -132,12 +132,35 @@ static void setup_push_upstream(struct remote *remote, int simple)
add_refspec(refspec.buf);
}
+static char warn_unspecified_push_default_msg[] =
+N_("push.default is unset; its implicit value is changing in\n"
+ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
+ "and maintain the current behavior after the default changes, use:\n"
+ "\n"
+ " git config --global push.default matching\n"
+ "\n"
+ "To squelch this message and adopt the new behavior now, use:\n"
+ "\n"
+ " git config --global push.default simple\n"
+ "\n"
+ "See 'git help config' and search for 'push.default' for further information.");
+
+static void warn_unspecified_push_default_configuration(void)
+{
+ static int warn_once;
+
+ if (warn_once++)
+ return;
+ warning("%s\n", _(warn_unspecified_push_default_msg));
+}
+
static void setup_default_push_refspecs(struct remote *remote)
{
switch (push_default) {
default:
case PUSH_DEFAULT_UNSPECIFIED:
default_matching_used = 1;
+ warn_unspecified_push_default_configuration();
/* fallthru */
case PUSH_DEFAULT_MATCHING:
add_refspec(":");
--
1.7.10.140.g8c333
next prev parent reply other threads:[~2012-04-20 14:59 UTC|newest]
Thread overview: 152+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-28 19:47 [ANNOUNCE] Git 1.7.10-rc3 Junio C Hamano
2012-03-29 9:52 ` Jeff King
2012-03-29 21:22 ` Junio C Hamano
2012-03-29 22:11 ` Jeff King
2012-03-30 1:54 ` Junio C Hamano
2012-03-30 7:13 ` push.default: current vs upstream Jeff King
2012-03-30 20:25 ` Junio C Hamano
2012-03-30 21:01 ` Jeff King
2012-03-30 21:28 ` Junio C Hamano
2012-03-30 21:53 ` Jeff King
2012-03-30 22:15 ` Junio C Hamano
2012-03-30 22:20 ` Jeff King
2012-03-30 23:12 ` Junio C Hamano
2012-03-31 22:49 ` Nathan Gray
2012-03-31 23:48 ` Seth Robertson
2012-04-01 2:22 ` Junio C Hamano
2012-04-01 5:58 ` Nathan Gray
2012-04-02 7:40 ` Matthieu Moy
2012-04-02 16:48 ` Junio C Hamano
2012-04-02 17:20 ` Matthieu Moy
2012-04-02 18:40 ` Junio C Hamano
2012-04-02 18:58 ` Matthieu Moy
2012-04-02 19:47 ` Junio C Hamano
2012-04-02 20:40 ` Matthieu Moy
2012-04-02 20:50 ` Junio C Hamano
2012-04-02 21:02 ` demerphq
2012-04-02 21:16 ` Matthieu Moy
2012-04-04 7:57 ` demerphq
2012-04-05 13:13 ` Jeff King
2012-04-05 16:46 ` Matthieu Moy
2012-04-06 7:15 ` Jeff King
2012-04-06 7:44 ` Matthieu Moy
2012-04-06 8:00 ` Jeff King
2012-04-06 17:41 ` Junio C Hamano
2012-04-06 18:01 ` Jehan Bing
2012-04-07 7:49 ` Michael Haggerty
2012-04-07 7:51 ` Jeff King
2012-04-07 8:40 ` Andrew Sayers
2012-04-12 7:11 ` Jeff King
2012-04-12 15:04 ` Junio C Hamano
2012-04-12 21:16 ` Andrew Sayers
2012-04-12 21:33 ` Junio C Hamano
2012-04-12 22:11 ` Jeff King
2012-04-12 22:59 ` Philip Oakley
2012-04-13 19:31 ` Junio C Hamano
2012-04-17 20:13 ` Andrew Sayers
2012-04-08 4:43 ` Junio C Hamano
2012-04-11 16:17 ` Matthieu Moy
2012-04-11 16:44 ` Junio C Hamano
2012-04-12 7:55 ` Jeff King
2012-04-12 8:09 ` Matthieu Moy
2012-04-12 8:14 ` Jeff King
2012-04-12 8:59 ` Matthieu Moy
2012-04-12 15:56 ` Junio C Hamano
2012-04-19 16:06 ` Junio C Hamano
2012-04-19 20:38 ` Matthieu Moy
2012-04-19 21:02 ` Junio C Hamano
2012-04-19 22:57 ` [RFC/PATCH 0/3] push.default upcomming change Matthieu Moy
2012-04-19 22:57 ` [PATCH 1/3] push: introduce new push.default mode "simple" Matthieu Moy
2012-04-19 23:46 ` Jeff King
2012-04-20 14:52 ` Matthieu Moy
2012-04-20 14:59 ` [PATCH 0/4 v2] push.default upcomming change Matthieu Moy
2012-04-20 14:59 ` [PATCH 1/4] Documentation: explain push.default option a bit more Matthieu Moy
2012-04-20 20:13 ` Jeff King
2012-04-20 21:28 ` Junio C Hamano
2012-04-21 3:51 ` Michael Haggerty
2012-04-21 4:08 ` Junio C Hamano
2012-04-21 5:01 ` Michael Haggerty
2012-04-21 5:42 ` Junio C Hamano
2012-04-20 14:59 ` [PATCH 2/4] push: introduce new push.default mode "simple" Matthieu Moy
2012-04-20 20:33 ` Jeff King
2012-04-22 16:24 ` Zbigniew Jędrzejewski-Szmek
2012-04-20 21:42 ` Junio C Hamano
2012-04-23 8:38 ` Matthieu Moy
2012-04-20 14:59 ` [PATCH 3/4] t5570: use explicit push refspec Matthieu Moy
2012-04-20 14:59 ` Matthieu Moy [this message]
2012-04-20 20:35 ` [PATCH 0/4 v2] push.default upcomming change Jeff King
2012-04-22 11:05 ` Matthieu Moy
2012-04-23 2:50 ` Junio C Hamano
2012-04-23 8:37 ` [PATCH 0/7 v3] " Matthieu Moy
2012-04-23 8:37 ` [PATCH 1/7] Documentation: explain push.default option a bit more Matthieu Moy
2012-04-23 15:20 ` Junio C Hamano
2012-04-23 19:00 ` Philip Oakley
2012-04-23 19:11 ` Junio C Hamano
2012-04-23 21:01 ` Philip Oakley
2012-04-23 8:37 ` [PATCH 2/7] Undocument deprecated alias 'push.default=tracking' Matthieu Moy
2012-04-23 15:21 ` Junio C Hamano
2013-01-31 17:10 ` Ævar Arnfjörð Bjarmason
2013-01-31 17:35 ` Junio C Hamano
2013-01-31 19:07 ` Jonathan Nieder
2013-01-31 19:11 ` Jonathan Nieder
2013-01-31 19:58 ` Junio C Hamano
2013-01-31 19:41 ` Junio C Hamano
2013-01-31 19:57 ` Jonathan Nieder
2013-01-31 20:01 ` Junio C Hamano
2013-01-31 20:11 ` Jonathan Nieder
2013-01-31 20:42 ` Junio C Hamano
2013-01-31 20:44 ` Junio C Hamano
2013-01-31 20:04 ` Jonathan Nieder
2013-01-31 20:08 ` Matthieu Moy
2013-01-31 20:21 ` Junio C Hamano
2013-01-31 20:50 ` Junio C Hamano
2013-01-31 21:00 ` Jonathan Nieder
2013-02-01 1:15 ` Junio C Hamano
2013-01-31 21:08 ` Jonathan Nieder
2013-01-31 20:41 ` Philip Oakley
2012-04-23 8:38 ` [PATCH 3/7] t5528-push-default.sh: add helper functions Matthieu Moy
2012-04-23 15:36 ` Junio C Hamano
2012-04-23 16:02 ` Matthieu Moy
2012-04-23 16:16 ` Junio C Hamano
2012-04-23 16:20 ` Matthieu Moy
2012-04-23 16:57 ` Matthieu Moy
2012-04-23 17:09 ` Junio C Hamano
2012-04-23 16:42 ` Junio C Hamano
2012-04-23 16:45 ` [PATCH 2/3] fixup! " Junio C Hamano
2012-04-23 16:48 ` [PATCH 3/3] push: suggested updates to push configuration documentation Junio C Hamano
2012-04-23 8:38 ` [PATCH 4/7] push: introduce new push.default mode "simple" Matthieu Moy
2012-04-23 10:32 ` Michael Haggerty
2012-04-23 11:20 ` Matthieu Moy
2012-04-23 15:52 ` Junio C Hamano
2012-04-23 16:09 ` Matthieu Moy
2012-04-23 8:38 ` [PATCH 5/7] t5570: use explicit push refspec Matthieu Moy
2012-04-23 8:38 ` [PATCH 6/7] push: document the future default change for push.default (matching -> simple) Matthieu Moy
2012-04-23 8:38 ` [PATCH 7/7] push: start warning upcoming default change for push.default Matthieu Moy
2012-04-24 7:49 ` [PATCH 0/7 v4] push.default upcomming change Matthieu Moy
2012-04-24 7:50 ` [PATCH 1/7] Documentation: explain push.default option a bit more Matthieu Moy
2012-04-24 7:50 ` [PATCH 2/7] Undocument deprecated alias 'push.default=tracking' Matthieu Moy
2012-04-24 7:50 ` [PATCH 3/7] t5528-push-default.sh: add helper functions Matthieu Moy
2012-04-24 7:50 ` [PATCH 4/7] push: introduce new push.default mode "simple" Matthieu Moy
2012-04-25 1:53 ` Junio C Hamano
2012-04-25 11:01 ` Matthieu Moy
2012-04-24 7:50 ` [PATCH 5/7] t5570: use explicit push refspec Matthieu Moy
2012-04-24 7:50 ` [PATCH 6/7] push: document the future default change for push.default (matching -> simple) Matthieu Moy
2012-04-24 7:50 ` [PATCH 7/7] push: start warning upcoming default change for push.default Matthieu Moy
2012-04-24 19:28 ` [PATCH 0/7 v4] push.default upcomming change Junio C Hamano
2012-04-19 22:57 ` [PATCH 2/3] t5570: use explicit push refspec Matthieu Moy
2012-04-19 22:57 ` [PATCH 3/3] push: start warning upcoming default change for push.default Matthieu Moy
2012-04-26 5:44 ` [PATCH] t5541: warning message is given even with --quiet Junio C Hamano
2012-04-26 6:31 ` Matthieu Moy
2012-04-11 2:08 ` [RFC/PATCH] Give better 'pull' advice when pushing non-ff updates to current branch Christopher Tiwald
2012-04-06 11:38 ` push.default: current vs upstream Dmitry Potapov
2012-04-06 13:36 ` demerphq
2012-04-06 18:03 ` Dmitry Potapov
2012-04-06 18:48 ` demerphq
2012-04-06 19:38 ` Dmitry Potapov
2012-03-30 23:07 ` Junio C Hamano
2012-04-03 20:59 ` Jeff King
2012-04-03 21:04 ` Jeff King
2012-04-03 22:29 ` Junio C Hamano
2012-04-03 23:23 ` Junio C Hamano
2012-04-05 12:45 ` Jeff King
2012-04-08 12:52 ` Felipe Contreras
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1334933944-13446-5-git-send-email-Matthieu.Moy@imag.fr \
--to=matthieu.moy@imag.fr \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=mhagger@alum.mit.edu \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).