git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Johan Herland <johan@herland.net>
To: git@vger.kernel.org
Cc: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>,
	Dmitry Potapov <dpotapov@gmail.com>,
	Junio C Hamano <gitster@pobox.com>,
	Sverre Rabbelier <srabbelier@gmail.com>,
	Jeff King <peff@peff.net>,
	Nguyen Thai Ngoc Duy <pclouds@gmail.com>,
	Nicolas Pitre <nico@fluxnic.net>
Subject: Re: [1.8.0] Provide proper remote ref namespaces
Date: Mon, 07 Feb 2011 00:22:51 +0100	[thread overview]
Message-ID: <201102070022.51403.johan@herland.net> (raw)
In-Reply-To: <vpqaai8oqkc.fsf@bauges.imag.fr>

(resend without HTML part; I apologize for the inconvenience)

On Sunday 06 February 2011, Matthieu Moy wrote:
> Johan Herland <johan@herland.net> writes:
> > I don't see how the separate namespaces cause problems here. Also, I
> > don't know what you're proposing instead, or indeed what other
> > organization of tags would lead to less confusion.
> 
> I'm not against the idea, but one drawback of the separate namespace
> is that it introduces complexity for the user. In the common case,
> where the user may fetch the same tag from various sources, there
> will still be several refs (probably listed by "git tag" ?), and this
> may confuse the user.

If the user is confused by putting remote tags in separate namespaces, then 
the user is likely also confused by the current practice of putting remote 
_branches_ in separate namespaces. My point is that by strictly delineating 
the boundaries between what is local and what belongs to a given remote, I 
hope we could help some newbies past the local vs. remote confusion that 
often manifests itself when migrating from a centralized VCS to a DVCS.

> Another question is what happens when you push. With branches,
> fetching XXX fetches in origin/XXX, but pushing YYY does push to YYY.
> This asymetry between push and pull works well because most of the
> time, if we have a origin/XXX branch, we also have XXX (with
> origin/XXX as upstream).

I look at it differently: "fetch" is for information discovery (i.e. "I want 
to know what's happened on the remote"), while pull/push is about making 
real changes to local/remote branches.

> For tags, it's clearly different. If I have origin/v1.7.4, I don't see
> much reason to have _also_ v1.7.4 as a local tag. And if I have only
> origin/v1.7.4 and push it as origin/v1.7.4, then someone pulling from
> it will get origin/origin/v1.7.4, and so on.

Wrong. If you have origin/v1.7.4, it's because v1.7.4 already exists in the 
origin remote, so there's no point in trying to push it back. On the other 
hand, if you have v1.7.4 locally (but not origin/v1.7.4), you should 
(assuming this is intended to be a public tag) consider pushing it to the 
"origin" remote, thus causing origin/v1.7.4 to appear in your repo.

> So, my feeling is that the "separate namespace" should not be
> automatic.
> 
> For example, today, git.git repo contains tags like v1.7.4 and others
> like gitgui-0.13.0, which is clearly a handmade namespace, where a
> real namespace would be better. That would make a lot of sence to me
> if Junio had something like
> 
> [remote "git-gui"]
> 	url = ...
> 	fetch = +refs/heads/*:refs/remotes/git-gui/*
> 	fetch = +refs/tags/*:refs/tags/remotes/git-gui/*
> 
> or whatever other syntax, so that git-gui's tags be automatically
> fetched into the right namespace (with no warning in case of
> duplicate).
> 
> But OTOH, I don't want to have several namespaces in my git repo even
> if I configure several remotes to fetch from. In this case, duplicate
> tags are just redundancy if they point to the same object, and a real
> conflict I want to know about immediately otherwise.

As Nicolas mentioned elsewhere in the thread, having separate tag namespaces 
does not prevent us from also warning about ambiguous tag names on fetch. 
With separate namespaces, you could probably implement such a warning more 
easily as a hook, instead of hacking the fetch code directly.


...Johan

-- 
Johan Herland, <johan@herland.net>
www.herland.net

  reply	other threads:[~2011-02-06 23:23 UTC|newest]

Thread overview: 105+ 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
     [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-07 19:05                         ` Bernhard R. Link
2011-02-08  1:20                           ` Dmitry Potapov
2011-02-06 20:28               ` Matthieu Moy
2011-02-06 23:22                 ` Johan Herland [this message]
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                                       ` Re* " Junio C Hamano
2011-02-14 18:53                                         ` 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
  -- strict thread matches above, loose matches on Subject: below --
2011-02-07  3:35 [1.8.0] Provide proper remote ref namespaces 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=201102070022.51403.johan@herland.net \
    --to=johan@herland.net \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=dpotapov@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --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).