Re: VCS comparison table
flat view
From: Jelmer Vernooij <hidden>
Date: 2016-06-15 22:42:45
On Mon, 2006-10-23 at 11:45 -0700, Linus Torvalds wrote:
On Mon, 23 Oct 2006, Jakub Narebski wrote:quoted
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.
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 [off-list ref] - http://samba.org/~jelmer/
Attachments
- signature.asc [application/pgp-signature] 189 bytes