I've been toying around with Hg for some time before Git. Indeed, DVCS by itself implies high degree of flexibility and whatnot.
However, I'd still like to single Git out, because of its storage format. In Hg, for every file in your repo, you get one storage file holding revisions -- plus one master file with changelogs. It's just boring files all the way down.
In Git, every object (file, tree of files, commit with a tree of files & parent commit(s)) are represented by hash. The data itself is stored somewhere -- in an interchangeable format (currently two formats are used: blob and pack with index). Storage is somewhat decoupled from toolkit. You can even fix a broken repo by literally copying in file(s) with proper content.
But the true power comes from somewhere else: you can envision defining own data types, beyond files, trees and commits, and plugging them into Git. And having them play along with the usual ones.
A general content-addressable storage :D
(Too bad Venti [1] was invented a bit earlier)
I believe Fossil (the DVCS [2], not the FS [3]) comes pretty close to that, too.
However, I'd still like to single Git out, because of its storage format. In Hg, for every file in your repo, you get one storage file holding revisions -- plus one master file with changelogs. It's just boring files all the way down.
In Git, every object (file, tree of files, commit with a tree of files & parent commit(s)) are represented by hash. The data itself is stored somewhere -- in an interchangeable format (currently two formats are used: blob and pack with index). Storage is somewhat decoupled from toolkit. You can even fix a broken repo by literally copying in file(s) with proper content.
But the true power comes from somewhere else: you can envision defining own data types, beyond files, trees and commits, and plugging them into Git. And having them play along with the usual ones.
A general content-addressable storage :D
(Too bad Venti [1] was invented a bit earlier)
I believe Fossil (the DVCS [2], not the FS [3]) comes pretty close to that, too.
--
[1] http://en.wikipedia.org/wiki/Venti
[2] (the DVCS) http://en.wikipedia.org/wiki/Fossil_(software)
[3] (the FS) http://en.wikipedia.org/wiki/Fossil_(file_system)