[FFmpeg-devel] Who is against GIT now?

Reinhard Tartler siretart
Mon Apr 6 18:46:23 CEST 2009

Diego Biurrun <diego at biurrun.de> writes:

>> If you want to do non-standard things you need your own scripts.
>> Strangely the rest of the world is doing fine with SHA-1 id's.
> Strangely, some of the other distributed revision control systems do
> implement version numbers.  At least mercurial and bazaar IIRC, which in
> practice amounts to everyone except git.

That's not exactly right. Both mercurial and bazaar implement SHA-1
id's, but bazaar does not present them by default. You can still list
the, with e.g. 'bzr log --show-ids', use them with
'bzr diff -rrevid:${revid}'. With mercurial it is pretty similar, IIRC.

Both bazaar and mercurial guarantee stability on the revision ids only
for local branches. This mean that it is perfectly possible to have two
branches of the same project with the same revision id but different
commits. This in fact happens regularily when a developer makes a local

Things can become pretty confusing when it comes to merging. Imaginge a
branch with 50 commits, and someone then merges the last 45 commits in a
new commit in his local branch. Then he submits that branch for
review. A reviewer then merges that branch into the mainline to notice
that the new merge has revision number 6. Of course the former commits
6..50 are now accessible as 5.1.1 to 5.1.45. Confusing, eh?

If you keep that in mind, local revision numbers can still aid local
naviagion, because these VCS don't have a concept of revision
modifiers. In git e.g. you can say 'git diff HEAD~4' to get your last 4
changes. in bzr you'd need somthing like 'bzr diff -rlast:5'. YMMV.

Reinhard Tartler, KeyID 945348A4

More information about the ffmpeg-devel mailing list