[RFC]New style of revision id [Was Re: VCS comparison table]

Goffredo Baroncelli kreijack at alice.it
Mon Oct 23 23:17:56 BST 2006

On Monday 23 October 2006 21:18, Linus Torvalds wrote:
> On Mon, 23 Oct 2006, Jelmer Vernooij wrote:
> >
> > Bzr stores a checksum of the commit separately from the revision id in
> > the metadata of a revision. The revision is not used by itself to check
> > the integrity of a revision.
> That wasn't what I was trying to aim at - the problem is that the bzr 
> revision ID isn't "safe" in itself. Anybody can create a revision with the 
> same names - and they may both have checksums that match their own 
> revision, but you have no idea which one is "correct".

BTW, bzr has a command (testament) which generates a checksum on the basis of 
the inventory ( file path, file-id, checksum ), comment, committer, 
revision-id..... So that checksum is 1:1 to the snapshot of the tree at a 
given time.

The big difference with git, is that the testament doesn't evaluate 
the "testament" of the parent, so the testament is 1:1 to the revision, but 
not 1:1 to the full history.

Moreover bzr has the infrastructure to sign with a GPG key that checksum...

But I agree with Linus that the testament ( the bzr checksum ) isn't very 
integrated with the usual bazaar workflow as the git "revision-ID".

From a bazaar developer point of view I think if it is possible to switch from 
a pseudo-random revidion id, to a checksum basis revision id: the checksum 
can be computed on the basis of the sha1 of the files, and 

This new style of revid can be in the form

Yes, the first three field are redundant: but so the change isn't too 
dramatic ! :-)

Any idea ?

> 		Linus
gpg key@ keyserver.linux.it: Goffredo Baroncelli (ghigo) <kreijack at inwind.it>
Key fingerprint = CE3C 7E01 6782 30A3 5B87  87C0 BB86 505C 6B2A CFF9

More information about the bazaar mailing list