git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Nicolas Pitre <nico@fluxnic.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jakub Narebski <jnareb@gmail.com>,
	Johan Herland <johan@herland.net>,
	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>
Subject: Re: [1.8.0] Provide proper remote ref namespaces
Date: Mon, 14 Feb 2011 14:06:57 -0500 (EST)	[thread overview]
Message-ID: <alpine.LFD.2.00.1102141347460.14920@xanadu.home> (raw)
In-Reply-To: <7vbp2etqne.fsf@alter.siamese.dyndns.org>

On Mon, 14 Feb 2011, Junio C Hamano wrote:

> Jakub Narebski <jnareb@gmail.com> writes:
> 
> > Please consider this use case:
> >
> > Let's assume that current maintainer steps aside for a bit, and new interim
> > temporary maintainer takes mantle.  One would add new remote _temporarily_,
> > but one would want for tags that temporary maintainer created to be as good
> > as tags from 'origin' remote... and not be deleted when you remove temp
> > remote and its remote-tracking branches.
> 
> Why don't you want to delete them?
> 
> When the "interim" maintainer gives the baton back to the authoritative
> maintainer, the tags that are blessed between these two maintainers will
> surely be propagated [*1*] to the authoritative repository and you will
> have them at refs/tags or refs/remotes/origin/tags in your repository.
> 
> And at that point, if you do not want to have refs/remotes/interim/heads/
> branches, you surely do not mind cleaning refs/remotes/interim/tags/
> hierarchy as well, no?

Exact.

> Having said all that, if we assume *1* above, then we wouldn't have needed
> separate tag namespace in the first place.

Depends.  There could be multiple compeeting "interim" maintainers 
effectively creating forks.  They may have conflicting tags.  The 
"official" maintainer may vet only one of those forks.  The other forks 
may die or have a life of their own, Etc. Etc.

> Further, think about the case where the "interim" maintainer ends up
> becoming the authoritative maintainer, which is the same thing as not
> assuming *1* above.  You would want to consolidate refs/remotes/origin/tags
> and refs/remotes/interim/tags, and we do not expect any collisions when we do
> so.

Right.  But that's an expectation based on social practices within a 
project.  In theory there _could_ be collisions.

Let's take the OpenOffice vs LibreOffice as an example.  What if I want 
both in my repository so I can easily perform diffs between those 
independent branches?  They may certainly end up producing releases with 
the same version numbers (same tag name) but different content 
(different tag references).

> Which suggests that tags namespace is really special in that it does want
> to be globally unique and agreed namespace, unlike branch namespace.

Semantically, yes.  but a separate namespace just makes special cases as 
those shown above so much easier to deal with.

The separate namespace is a _technical_ implementation detail that makes 
all the ambigous cases easy.  It doesn't make the mistake of imposing a 
social convention upon people.  So whatever people end up collectively 
doing with their tags is not tied to the tool's limitation anymore.

You end up with 2 tags with the same name?  Fine.  If they are identical 
then you may just as well ignore that they're in separate namespaces.  
The tool will present things to you as such instead of enforcing that in 
the data structure (this is just like we do with file renames). If 
they're different, then at least you now have the possibility to choose 
which tag you actually want by prefixing it with its namespace.  Right 
now this is just not possible.

Please let's not confuse technical details like data (or tag) storage 
with social conventions.


Nicolas

  reply	other threads:[~2011-02-14 19:07 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
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                                       ` 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 [this message]
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=alpine.LFD.2.00.1102141347460.14920@xanadu.home \
    --to=nico@fluxnic.net \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=dpotapov@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jnareb@gmail.com \
    --cc=johan@herland.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).