Bookmarks in core?

Matt Mackall mpm at selenic.com
Wed Dec 1 17:44:07 CST 2010


On Wed, 2010-12-01 at 23:45 +0100, Martin Geisler wrote:
> Matt Mackall <mpm at selenic.com> writes:
> 
> > On Wed, 2010-12-01 at 09:13 +0100, Martin Geisler wrote:
> >
> >> If one could mark a bookmark as fixed, then it would behave like a
> >> tag,
> >
> > Ugh, no, not this again.
> >
> >
> > Look, here are the basic properties of any sensible implementation of
> > tags:
> >
> > a) in history (auditable, signable, etc.)
> 
> There is nothing that prevents you from including a committer name and a
> signature in a bookmark.

That's not anything like being auditable.

> > b) mutable
> > c) can be applied after the commit they refer to
> >
> > You -really- want ALL these properties for tags on a real project, but
> > most critically, you want (a). If you decide to use bookmarks instead
> > of tags, and someone accidentally nukes one (or even just moves it),
> > you'll have no record of that happening and no way to get it back.
> 
> I think you're being too pessimistic here.

Ok, let's say you freshly clone the Mercurial repo onto your laptop and
discover it has no 0.5 tag. How do you figure out how that happened?

Answer: you can't without reference to other repositories, which may or
may not still exist, you may or may not know about, and you may or may
not have access to. And the longer the tag was missing without anyone
noticing, the more likely it's going to be impossible to figure out
where it went and what went wrong.

This is so obviously screamingly horribly wrong to me that I'm amazed I
even need to argue against it. Replace 'tag' with 'file' above and bang
head on desk until you're enlightened, please.

If you want a thing that's like a bookmark but isn't, fine. But don't
pitch it as a tag replacement if you want me to not object violently to
it.

> You must acknowledge that a lot of people are unhappy with the current
> design of tags in Mercurial.

Sure. That's because a lot of people haven't thoroughly weighed the
alternatives. Or have forgotten the numerous discussions we've had about
those alternatives (*cough*Martin*cough*).

I've spent a few hours summarizing that here to save myself future
rehashing:

http://mercurial.selenic.com/wiki/TagDesign

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list