newbie questions about git design and features (some wrt hg)
Linus Torvalds
torvalds at linux-foundation.org
Fri Feb 2 20:21:24 UTC 2007
On Fri, 2 Feb 2007, Brendan Cully wrote:
>
> The public tags on the public history get pushed. This still sounds to
> me like the right thing.
And what happens if you have two public tags?
Ok, now you have answered the "how is this tying them together" question
yourself.
Notice? You tied them together, by tying them to something else.
And that is what I say is WRONG. Tags are independent, because different
people have different needs for them.
Yes, you can say that the tags that the "main developer" does are "magic",
and should always follow the history. But EVEN THAT is wrong. Because it
makes a supposition that should not be one. You shouldn't start out with
the assumption that there is one centralized place that makes the
decisions. It may be how most open source projects work, but it's not what
the tool should enforce. Especially when projects break/fork/whatever, the
tool should _support_ that. It shouldn't say "ok, those people are
special, what they do is special".
> > So tags are *events*. But if you think they are events "within" the
> > history of a tree, you're missing a big issue.
>
> Your distinction between "history" and "events" is unclear to
> me. What's history if not a series of events?
A lot of events are *independent*.
You seem to think that there is a dependency between tags that simply
isn't there! You think it's ok to push them all out, because they are all
"related". THAT IS NOT TRUE.
> Mercurial supports local tags too. As far as I can tell, these
> unversioned tags are about equivalent to git tags. They could
> certainly be used for your bisection scenario.
Can you push out your local tags?
A tag isn't "globally local" or "globally global". *MY* local tags make
sense on my machines. It's just that they don't make sense on the public
tree. They're not "local to a repository". They are LOCAL TO MY NETWORK.
See? That's the kind of behaviour that git supports. You can publish one
set of tags, and not publish another. They're not "different tags", and
not publishing them in one place does NOT mean that you can't publish them
somewhere else.
Linus
More information about the Mercurial
mailing list