monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Proposal for human readable revision IDs


From: Thomas Haas
Subject: Re: [Monotone-devel] Proposal for human readable revision IDs
Date: Tue, 06 Sep 2005 16:00:02 +0200
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

Bruce


Bruce Stephens wrote:
> Thomas Haas <address@hidden> writes:
> 
> [...]
> 
> 
>>Using the alphabet (A-Z, a-z) and the ten digits would reduce the
>>real estate from 40 to 27 characters.
> 
> 
> That would be shorter, but would it be any more readable?

I expect it to be more readable, but do not know. As it is shorter, it
would reduce clutter, hopefully.


>>Additionally, or alternatively, a different, persistent
>>representation of the various identifiers could ease the use of
>>monotone. E.g.  revisions could be counted as in sub-version or
>>monotone limit itself to display identifiers as short as possible,
>>while still unique (the result could be fed into monotone complete
>>to get the full identifier).
> 
> 
> A difficulty with that is that these things would then not be
> permanent.  At present the selector "aa0" is unique for the database
> of venge.net that I have, but that won't always be so.  So if I cut
> and paste "aa0" and store it somewhere, then that's not going to work;
> similarly, if I email that revision to someone, then that may well not
> be unique for the recipient.

A hash (and I consider picking the first 3 characters as a hash) of the
identifier will not be unique and lead to troubles. But, an alias can be
stored persistently (see my reply to Nathaniel).


>>Personally, I would prefer some short, readable identifier valid
>>only for my database.
> 
> 
> Why?  What sorts of problems do you have with 40 character hashes?
> Are you aware of selectors, which allow you to use (amongst other
> things) unique prefixes of hashes everywhere (I think) where you might
> use a revision?

I tried to describe my problem in my answer to Nathaniel. Short:
Selectors do only work for revisions, not for other things, such as
manifests and files. And, I find 40 byte hex strings hard to compare,
match, and generally process.


Thanks & regards
- tom

> Something I've considered is some kind of hook to print out revisions,
> so that rather than monotone displaying
> aa0a570fc9966431392a9956ea1ce270456c162a, it might produce
> "a:njs/b:net.venge.monotone/d:2004-05-12/i:aa0a", or something, which
> doesn't save space, and wouldn't be particularly memorable, but it
> seems more readable.  It would also be more awkard to select for cut
> and paste, though.  (That's a legal selector, by the way.  The a:, b:,
> and so on can be omitted, and there's more flexibility that's
> possible.)  Overall I'm not sure it would be worthwhile; a converter
> might be handy, so you could convert a hash into something meaningful
> to email to someone.
> 
> 
> _______________________________________________
> Monotone-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/monotone-devel
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]