git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Johan Herland <johan@herland.net>
Cc: Jakub Narebski <jnareb@gmail.com>,
	git@vger.kernel.org, Jeff King <peff@peff.net>,
	Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>,
	Dmitry Potapov <dpotapov@gmail.com>,
	Sverre Rabbelier <srabbelier@gmail.com>,
	Nguyen Thai Ngoc Duy <pclouds@gmail.com>,
	Nicolas Pitre <nico@fluxnic.net>
Subject: Re* [1.8.0] Provide proper remote ref namespaces
Date: Mon, 14 Feb 2011 10:06:03 -0800	[thread overview]
Message-ID: <7vfwrqtrsk.fsf_-_@alter.siamese.dyndns.org> (raw)
In-Reply-To: <201102141018.46527.johan@herland.net> (Johan Herland's message of "Mon\, 14 Feb 2011 10\:18\:46 +0100")

Johan Herland <johan@herland.net> writes:

> It's not, except that "refs/*:refs/remotes/origin/*" would fetch a too-large 
> superset. E.g. it would fetch "refs/remotes/third-party/heads/foo" into 
> "refs/remotes/origin/remotes/third-party/heads/foo", which we probably don't 
> want.

Ah, very true.  We are generally not interested in remote's remotes that
possibly include ourselves ;-)

> "Now you could argue that auto-follow is not worth the effort. It is
> somewhat confusing, and I can't think of a time when it ever actually
> reduced the set of objects I was fetching (as opposed to just fetching
> all tags). But maybe others have use cases where it matters."
>
> So if nobody disagree, I would have no problem with dropping the leading "~" 
> from the refspec, thus disabling auto-following (tracking all tags 
> explicitly instead).

I am not sure what you mean by this.  I think we agree that it would be Ok
if you cannot add "~" in front to cause automatic following when tracking
tags in separate namespaces using "refs/tags/*:refs/remotes/origin/tags/*".

But are you saying:

 (1) There is no other change than that; or

 (2) Even when not using such a refspec i.e. using the traditional "tags
     live in a single global namespace", automatic following feature will
     be disabled;

I would be moderately unhappy if the latter.

> ... However, what I've seen at $dayjob is 
> that more inexperienced users will often push right after committing, and at 
> that time they're still very much in the "working-on-one-branch" state of 
> mind (as opposed to the "administering-multiple-branches" state of mind),...

Then "current" mode is a good setting for them, I would presume.  I don't
think it is a bad idea to make that the default given sufficient lead time
to warn the current users, and if we want to make the switch at 1.8.0, the
time to start issuing a warning is now.  Perhaps like this.

-- >8 --
Subject: [1.8.0 RFC] push: start warning upcoming default change for push.default

More inexperienced users will often push right after committing, and at
that time they're still very much in the "working-on-one-branch" state of
mind.  "current" would be a safer default mode of operation for 'git push'
for them even when they have their personal publishing repository (also in
a shared public repository settings, "matching" is rarely the right
default mode).

In preparation for flipping the default to the "current" mode from the
"matching" mode that is the current default, start warning users when they
rely on unconfigured "git push" to default to the "matching" mode.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 builtin/push.c |   13 +++++++++++++
 cache.h        |    1 +
 environment.c  |    2 +-
 3 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/builtin/push.c b/builtin/push.c
index e655eb7..fe6665e 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -80,10 +80,23 @@ static void setup_push_tracking(void)
 	add_refspec(refspec.buf);
 }
 
+static void warn_unspecified_push_default_configuration(void)
+{
+	static int warn_once;
+
+	if (warn_once++)
+		return;
+	warning("You do not have an explicit 'matching' setting for push.default");
+	warning("Your workflow will be broken at 1.8.0 unless you do so now");
+}
+
 static void setup_default_push_refspecs(void)
 {
 	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 d83d68c..6c47867 100644
--- a/cache.h
+++ b/cache.h
@@ -606,6 +606,7 @@ enum rebase_setup_type {
 };
 
 enum push_default_type {
+	PUSH_DEFAULT_UNSPECIFIED = -1,
 	PUSH_DEFAULT_NOTHING = 0,
 	PUSH_DEFAULT_MATCHING,
 	PUSH_DEFAULT_TRACKING,
diff --git a/environment.c b/environment.c
index 9564475..577177f 100644
--- a/environment.c
+++ b/environment.c
@@ -47,7 +47,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

  parent reply	other threads:[~2011-02-14 18:06 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-01 10:44 [1.8.0] Remote tag namespace Nguyen Thai Ngoc Duy
2011-02-01 14:10 ` Leo Razoumov
2011-02-01 15:07 ` Marc Branchaud
2011-02-01 15:35   ` Nguyen Thai Ngoc Duy
2011-02-02 19:38     ` Marc Branchaud
2011-02-01 18:14 ` Jeff King
2011-02-01 23:14   ` Sverre Rabbelier
2011-02-02  2:21     ` [1.8.0] Provide proper remote ref namespaces Johan Herland
2011-02-02 13:27       ` Santi Béjar
2011-02-02 15:51         ` Johan Herland
2011-02-02 16:19           ` Santi Béjar
2011-02-03  5:33       ` Nguyen Thai Ngoc Duy
2011-02-03  8:46         ` Johan Herland
2011-02-03 11:35       ` Nguyen Thai Ngoc Duy
2011-02-03 13:10         ` Johan Herland
2011-02-03 14:10           ` Santi Béjar
2011-02-03 15:48             ` Nguyen Thai Ngoc Duy
2011-02-04 22:39       ` Junio C Hamano
2011-02-05  1:18         ` Johan Herland
2011-02-05 18:00           ` Kevin P. Fleming
2011-02-05 21:40           ` Dmitry Potapov
2011-02-06  0:04             ` Johan Herland
2011-02-06 12:03               ` Dmitry Potapov
2011-02-06 14:09                 ` Nicolas Pitre
2011-02-06 15:17                   ` Dmitry Potapov
2011-02-06 16:11                 ` Johan Herland
2011-02-06 17:28                   ` Dmitry Potapov
2011-02-06 22:12                     ` Johan Herland
2011-02-07  0:07                       ` Dmitry Potapov
2011-02-07 19:05                         ` Bernhard R. Link
2011-02-08  1:20                           ` Dmitry Potapov
     [not found]                         ` <201102070429.05033.johan@herland.net>
2011-02-07  3:47                           ` Nicolas Pitre
2011-02-08  1:06                           ` Dmitry Potapov
2011-02-08  8:15                             ` Johan Herland
2011-02-08 19:11                               ` Enrico Weigelt
2011-02-08 23:13                               ` Junio C Hamano
2011-02-09  1:24                                 ` Johan Herland
2011-02-06 20:28               ` Matthieu Moy
2011-02-06 23:22                 ` Johan Herland
2011-02-06 23:51                   ` Matthieu Moy
2011-02-07  3:51                     ` Johan Herland
2011-02-07  5:11                       ` Jeff King
2011-02-07  8:58                         ` Johan Herland
2011-02-07  9:01                           ` Sverre Rabbelier
2011-02-07 10:06                             ` Johan Herland
2011-02-07 10:22                               ` Nguyen Thai Ngoc Duy
2011-02-07 20:19                           ` Jeff King
2011-02-08  0:59                             ` Johan Herland
2011-02-11 15:13                               ` Jakub Narebski
2011-02-13 23:36                                 ` Johan Herland
2011-02-14  7:35                                   ` Junio C Hamano
2011-02-14  9:18                                     ` Johan Herland
2011-02-14  9:59                                       ` Jakub Narebski
2011-02-14 17:30                                         ` Junio C Hamano
2011-02-14 18:06                                       ` Junio C Hamano [this message]
2011-02-14 18:53                                         ` Re* " Jay Soffian
2011-02-14 19:44                                           ` Sverre Rabbelier
2011-02-14 19:50                                             ` Jay Soffian
2011-02-14 21:21                                               ` [1.8.0 RFC] push: start warning upcoming default change for push.default Jonathan Nieder
2011-02-14 21:41                                                 ` Jay Soffian
2011-02-14 21:55                                                   ` Jonathan Nieder
2011-02-14 21:57                                               ` Re* [1.8.0] Provide proper remote ref namespaces Matthieu Moy
2011-02-14 22:35                                                 ` Jeff King
2011-02-14 22:38                                                   ` Sverre Rabbelier
2011-02-14 23:36                                                   ` [1.8.0 RFC] push: start warning upcoming default change for push.default Jonathan Nieder
2011-02-14 23:45                                                   ` Re* [1.8.0] Provide proper remote ref namespaces Junio C Hamano
2011-02-14 23:05                                             ` Junio C Hamano
2011-02-15 15:06                                         ` Johan Herland
2011-02-15 18:06                                           ` Junio C Hamano
2011-02-16  0:54                                             ` [PATCH] push.default: Rename 'tracking' to 'upstream' Johan Herland
2011-02-16  6:35                                               ` Junio C Hamano
2011-02-16  8:55                                               ` Matthieu Moy
2011-02-16  9:42                                                 ` Martin von Zweigbergk
2011-02-16 10:08                                                   ` Jakub Narebski
2011-02-16 10:26                                                     ` Matthieu Moy
2011-02-16 10:27                                                       ` Sverre Rabbelier
2011-02-16 17:56                                                         ` Junio C Hamano
2011-02-16 18:08                                                           ` Sverre Rabbelier
2011-02-16 18:37                                                           ` Junio C Hamano
2011-02-18  0:51                                                           ` Martin von Zweigbergk
2011-02-18  0:57                                                             ` Martin von Zweigbergk
2011-02-16 10:54                                                   ` Bernhard R. Link
2011-02-14  9:40                                   ` [1.8.0] Provide proper remote ref namespaces Jakub Narebski
2011-02-14 15:45                                     ` Marc Branchaud
2011-02-14 19:35                                       ` Nicolas Pitre
2011-02-14 18:30                                     ` Junio C Hamano
2011-02-14 19:06                                       ` Nicolas Pitre
2011-02-14 19:46                                         ` Sverre Rabbelier
2011-02-07  6:54                       ` Matthieu Moy
2011-02-07  0:14                   ` Dmitry Potapov
2011-02-05 18:39         ` Nicolas Pitre
2011-02-05 19:37           ` Jeff King
2011-02-05 19:55             ` Nicolas Pitre
2011-02-05 23:39               ` Johan Herland
2011-02-06 20:04               ` Junio C Hamano
2011-02-07 16:10                 ` Marc Branchaud
2011-02-07 19:40                   ` Junio C Hamano
2011-02-07 20:37                     ` Nicolas Pitre
2011-02-07  5:18               ` Jeff King
2011-02-07 14:53                 ` Nicolas Pitre
2011-02-07 20:25                   ` Jeff King
2011-02-07 20:51                     ` Nicolas Pitre
2011-02-07 20:56                       ` Jeff King
2011-02-01 23:15   ` [1.8.0] Remote tag namespace Johan Herland

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vfwrqtrsk.fsf_-_@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=dpotapov@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.com \
    --cc=johan@herland.net \
    --cc=nico@fluxnic.net \
    --cc=pclouds@gmail.com \
    --cc=peff@peff.net \
    --cc=srabbelier@gmail.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).