monotone autotags

Ethan Blanton elb at pidgin.im
Sat May 5 13:20:24 EDT 2007


Tim Ringenbach spake unto us the following wisdom:
> Monotone's SHA1 revision numbers seem less than useful to me. Sure, they're
> great at uniquely identifying a revision. But they're impossible to
> remember, which makes talking about them difficult. If someone asked me a
> question about revision c4af5d58ae0a812912ffe29dc285f3d08afb5425 I would
> have no clue what they were talking about without looking at my commit
> emails or running a mtn command. Furthermore, I would have to copy and paste
> because I wouldn't be able to remember that number long enough to type it
> in. (Actually that's not true, both email search and monotone will let you
> enter just the beginning of it).

See monotone-devel, this has been hashed over numerous times.

> So I was thinking, what if we tagged reach revision with something actually
> memorable. I have no idea if that would hurt monotone's performance or
> anything like that. Thinking further, I wouldn't want all those tags showing
> up with the release tags, so monotone would need some way to flag them as
> less important. In addition, it would be cool if monotone would
> automatically add a prefix and postfix to the tag. Hence I'm calling this
> potential monotone feature request "autotags". I picture it working
> something like this:

I don't see how arbitrary tags are particularly better than c4af5d
(which is enough to disambiguate this revision).  They do have the
benefit of letting you know what revisions are (possibly) children of
others, I guess, if done as you suggest below ... but mtn automate
ancestors will tell you this with certainty (instead of a heuristic
broken by divergent branches, etc.), and could be wrapped up nicely to
do so.

> mtn ci --auto-tag whitespace
> 
> That revision gets tagged with something like marv at pidgin.im_whitespace_3
> (pretending I had used that same tag twice before).
> Perhaps it could be a line to fill out in the commit template in vim,
> instead of a command line argument.
> 
> I think this scheme makes the tags mostly unique, but since they're just
> aliases for the sha1's, it's not the end of the world if they're not. (How
> does monotone handle duplicate tags, btw?)
> 
> What does everyone think? I'm running it by you all first before I even
> think of actually filing it as a feature request to monotone. There's no
> point in me requesting such a feature if you guys don't even think it's
> sane/useful.

Having seen the monotone-devel threads on this, I'm not a big fan.
There is a set of wrapper scripts out there which uses custom certs to
accomplish this sort of thing.

For your particular scheme here, I think a good plan would be to
simply put those revisions on the im.pidgin.marv.whitespace branch --
I think you would achieve most of what you wanted, using existing and
powerful mechanisms.

Ethan

-- 
The laws that forbid the carrying of arms are laws [that have no remedy
for evils].  They disarm only those who are neither inclined nor
determined to commit crimes.
		-- Cesare Beccaria, "On Crimes and Punishments", 1764
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://pidgin.im/pipermail/devel/attachments/20070505/858c0fc0/attachment.sig>


More information about the Devel mailing list