From: Johan Herland <johan@herland.net>
To: Dmitry Potapov <dpotapov@gmail.com>
Cc: git@vger.kernel.org, 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: Sun, 06 Feb 2011 17:11:45 +0100 [thread overview]
Message-ID: <201102061711.45460.johan@herland.net> (raw)
In-Reply-To: <AANLkTikmD8qZOE+hi1=aeeVJx2qQpzdm0tV1mLsx1tfB@mail.gmail.com>
On Sunday 06 February 2011, Dmitry Potapov wrote:
> On Sun, Feb 06, 2011 at 01:04:36AM +0100, Johan Herland wrote:
> >_
> >
> > As long as they point to the same object, there's no ambiguity, and
> > when you_ simply refer to tag "foo" (without specifying namespace) it
> > all works, like_ today. (Read footnote [2] of my proposal for more
> > details on handling_ ambiguity in tag names.)
>
> I see no reason to create different namespaces, because semantically
> there is only one namespace.
In practice, there is almost always one namespace (i.e. your repo belongs to
only one project with project-wide unique tags). However, in any distributed
system, the only-one-namespace is fundamentally a myth. Sure, it's a
convenient myth, and one that we - with good reason - strive towards
fulfilling, but there are situations (described earlier in this thread)
where the myth is busted. In those situations, I think the _least_ confusing
thing we can do for our users is to handle all remote refs consistently, and
allow them to discover/investigate the remote tags as they would other
remote refs.
> > However, when the remote tags point to different objects (i.e. the
> > uncommon_ case), there is an ambiguity, and we should deal with that
> > ambiguity_ properly, instead of silently adopting one of them
> > arbitrarily.
>
> To me, the proper handling ambiguity means that when I do "git fetch" I
> immediately see warning about tag clashes. So, I agree with you that
> current behavior is not good, but I disagree with you about having many
> namespaces, because it postpones detection of the conflict until I try
> to use. And well, git may detect ambiguity when I say "git show v1.0",
> but if I look at my branch in gitk and see "v1.0" and may say to someone
> that I use "v1.0" but that person looks at his tree and sees "v1.0" as
> something different.
In that case it would be wrong of gitk to display "v1.0". Instead it should
display a longer, unambiguous name, e.g. "origin/v1.0".
> So, if there is two different tags with the same name, it is better to
> report the problem as soon as possible, i.e. during "git fetch", and
> then there is no reason to have separate namespaces for tags.
Yes, that is an alternative solution for tags. I guess it comes down to a
question of how much special treatment we want to give tags. I'd rather have
consistency between how tags and other remote refs are handled.
...Johan
--
Johan Herland, <johan@herland.net>
www.herland.net
next prev parent reply other threads:[~2011-02-06 16:12 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 [this message]
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
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201102061711.45460.johan@herland.net \
--to=johan@herland.net \
--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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.