[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
timestamp/commiter/parent-revision(s)/properties.
This new style of revid can be in the form
<user>@<host>-<date>-<cksum>
Yes, the first three field are redundant: but so the change isn't too
dramatic ! :-)
Any idea ?
[...]
> Linus
Goffredo
--
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