Promoting the use of Mercurial; was: Re: gnome dvcs survey results

Matt Mackall mpm at
Fri Jan 9 16:37:08 CST 2009

On Fri, 2009-01-09 at 11:39 -0500, Theodore Tso wrote:
> So I'm curious --- why is having tags as part of history so important
> to you; what workflows does this allow?

The purpose of a version control system is to record history. If tags
are mutable, then they must be part of history. Otherwise, you'll be
unable to answer questions like 'when was this tag added? who changed
this tag? and what was it before?'. 

A decentralized tool has to assume everyone has equal privileges. This
means everyone can add and modify tags in their own repos. It's also
safe to assume that people will want other people's public tags. Ergo,
there must be the same accountability for tags as there is for
everything else. Which means the most reasonable thing to do is use the
same mechanism.

If your workflow is 'only Linus gets to add tags' and 'only Linus gets
to push to the official repo' and you can trust everyone to stick to
that then it's not much an issue. But for everyone else it is. 
Mathematics is the supreme nostalgia of our time.

More information about the Mercurial mailing list