Re: VCS comparison table
- From
Jelmer Vernooij <jelmer@samba.org>
- Date
- Oct 23, 2006, 18:56 UTC
- Message-ID
- <1161629801.27312.22.camel@charis.lan.vernstok.nl>
- In-Reply-To
- <Pine.LNX.4.64.0610231134450.3962@g5.osdl.org>
On Mon, 2006-10-23 at 11:45 -0700, Linus Torvalds wrote:
Show 14 quoted lines
> On Mon, 23 Oct 2006, Jakub Narebski wrote:
> > The place for timestamp and commiter info is in the revision metadata
> > (in commit object in git). Not in revision id. Unless you think that
> > "accidentally the same" doesn't happen...
> Well, git and bzr really do share the same "stable" revision naming,
> although in git it's more indirect, and thus "covers" more.
>
> In git, the revision name indirectly includes the commit comments too (and
> git obviously also distinguishes between "committer" and "author", and
> those end up being indirectly credited in the name of the commit too). But
> in a very real sense, the bzr stable ("real") revision name does
> effectively contain the same things as a git ID: it's just that it's a
> small subset (only committer+date+random number) of what git includes in
> its names.There are no requirements on what a revid is in bzr. It's a unique identifier, nothing more. It can be whatever you like, as long as it's unique for that specific commit. The committer+date+random\ number is just what bzr uses at the moment to create those unique identifiers.
Show 8 quoted lines
> So you could more easily _fake_ a commit name in bzr, and depending on how > things are done it might be more open to malicious attacks for that reason > (or unintentionally - if two people apply the exact same patch from an > email, and take the author/date info from the email like hit does, you > might have clashes. But with a 64-bit random number, that's probably > unlikely, unless you also hit some other bad luck like having the > pseudo-random sequence seeded by "time()", and people just _happen_ to > apply the email at the exact same second).
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.
Cheers,
Jelmer
-- Jelmer Vernooij <jelmer@samba.org> - http://samba.org/~jelmer/