Dotted revno "algebra"
Eric Siegerman
lists08-bzr at davor.org
Mon May 3 17:44:59 BST 2010
On Mon, 2010-05-03 at 10:37 -0400, Francis J. Lacoste wrote:
> There is no difference for me between 8564.1.32.1 and
> launchpad at pqm.canonical.com-20100501085755-q23vnwvz5it2xs8v
> [...]
> As this seems to be causing all sorts of performance problem, I'd
suggest
> dropping them entirely. Keeping revno on the mainline is nice, but
everything
> else could simply use SHA-1 identifier or whatever, and nobody will
care...
> really.
I for one would care *hugely*. I find there to be a great deal
of difference in usability between revnos and revids:
- Revnos mean something to me. Sure they're local to a
particular branch, but within that frame of reference they
provide a partial ordering that I find quite comprehensible,
and very useful despite being only partial.
- I can, and often do, type revnos -- even long ones like your
example. Revids? Forget it! (I touch type, so the physical
*and mental* context switch of taking my hands off the
keyboard to cut'n'paste costs me more than typing a dozen
characters. Of course, waiting for revno generation might
cost still more in elapsed time, but even if it does, it
*feels* to me like less of a distraction than the context
switch does.)
By the same token, others have proposed numbering dotted
revisions based on their merge point, rather than their branch
point. I find that idea to be rather horrifying. Under such a
scheme, IIUC, rev. 47.1.1 would be an *ancestor* of rev 47, not a
descendant. That violates the mental model for dotted-decimal
notation, which is a straightforward extension of (single-)decimal
arithmetic, in which it's always the case that:
X.Y > X
(for positive X and Y anyway -- and I don't think there have been
any proposals for signed revno's, perish the thought! :-))
Numbering dotted revnos by merge point would greatly reduce the
(valuable) partial-ordering property, and IMO would make revnos
much more confusing.
- Eric
More information about the bazaar
mailing list