From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthieu Moy Subject: [PATCH 3/3] push: start warning upcoming default change for push.default Date: Fri, 20 Apr 2012 00:57:14 +0200 Message-ID: <1334876234-20077-4-git-send-email-Matthieu.Moy@imag.fr> References: <1334876234-20077-1-git-send-email-Matthieu.Moy@imag.fr> Cc: Jeff King , Michael Haggerty , Matthieu Moy To: git@vger.kernel.org, gitster@pobox.com X-From: git-owner@vger.kernel.org Fri Apr 20 01:30:56 2012 Return-path: Envelope-to: gcvg-git-2@plane.gmane.org Received: from vger.kernel.org ([209.132.180.67]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SL0oK-0004YL-HD for gcvg-git-2@plane.gmane.org; Fri, 20 Apr 2012 01:30:48 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756511Ab2DSXan (ORCPT ); Thu, 19 Apr 2012 19:30:43 -0400 Received: from mx2.imag.fr ([129.88.30.17]:34201 "EHLO rominette.imag.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755989Ab2DSXam (ORCPT ); Thu, 19 Apr 2012 19:30:42 -0400 Received: from mail-veri.imag.fr (mail-veri.imag.fr [129.88.43.52]) by rominette.imag.fr (8.13.8/8.13.8) with ESMTP id q3JMpNIK032043 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO); Fri, 20 Apr 2012 00:51:23 +0200 Received: from bauges.imag.fr ([129.88.7.32]) by mail-veri.imag.fr with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from ) id 1SL0I6-0001nL-4m; Fri, 20 Apr 2012 00:57:30 +0200 Received: from moy by bauges.imag.fr with local (Exim 4.72) (envelope-from ) id 1SL0I6-0005F5-2n; Fri, 20 Apr 2012 00:57:30 +0200 X-Mailer: git-send-email 1.7.10.140.g8c333 In-Reply-To: <1334876234-20077-1-git-send-email-Matthieu.Moy@imag.fr> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.2 (rominette.imag.fr [129.88.30.17]); Fri, 20 Apr 2012 00:51:23 +0200 (CEST) X-IMAG-MailScanner-Information: Please contact MI2S MIM for more information X-MailScanner-ID: q3JMpNIK032043 X-IMAG-MailScanner: Found to be clean X-IMAG-MailScanner-SpamCheck: X-IMAG-MailScanner-From: moy@imag.fr MailScanner-NULL-Check: 1335480685.85263@YfzhlMw92tfTUTjHjpytlg Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: 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 Signed-off-by: Junio C Hamano --- builtin/push.c | 25 +++++++++++++++++++++++++ cache.h | 3 ++- environment.c | 2 +- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/builtin/push.c b/builtin/push.c index 4602cd8..3bb8ce7 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -130,10 +130,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: + warn_unspecified_push_default_configuration(); + /* fallthru */ case PUSH_DEFAULT_MATCHING: add_refspec(":"); break; diff --git a/cache.h b/cache.h index f1c1bb8..851a673 100644 --- a/cache.h +++ b/cache.h @@ -626,7 +626,8 @@ enum push_default_type { PUSH_DEFAULT_MATCHING, PUSH_DEFAULT_SIMPLE, PUSH_DEFAULT_UPSTREAM, - PUSH_DEFAULT_CURRENT + PUSH_DEFAULT_CURRENT, + PUSH_DEFAULT_UNSPECIFIED }; extern enum branch_track git_branch_track; diff --git a/environment.c b/environment.c index c93b8f4..d7e6c65 100644 --- a/environment.c +++ b/environment.c @@ -52,7 +52,7 @@ enum safe_crlf safe_crlf = SAFE_CRLF_WARN; unsigned whitespace_rule_cfg = WS_DEFAULT_RULE; enum branch_track git_branch_track = BRANCH_TRACK_REMOTE; enum rebase_setup_type autorebase = AUTOREBASE_NEVER; -enum push_default_type push_default = PUSH_DEFAULT_MATCHING; +enum push_default_type push_default = PUSH_DEFAULT_UNSPECIFIED; #ifndef OBJECT_CREATION_MODE #define OBJECT_CREATION_MODE OBJECT_CREATION_USES_HARDLINKS #endif -- 1.7.10.140.g8c333