A quick set of comparisons between hg, git, and bk
authormpm@selenic.com
Thu, 12 May 2005 01:20:16 -0800
changeset 58 2ab801e0ea9f
parent 57 115106376f45
child 59 2bff7c0ea1d3
A quick set of comparisons between hg, git, and bk
comparison.txt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/comparison.txt	Thu May 12 01:20:16 2005 -0800
@@ -0,0 +1,28 @@
+                    Mercurial      git                     BK (*)
+storage             revlog delta   compressed revisions    SCCS weave
+merge               file DAGs      changeset DAG           file DAGs?
+consistency         SHA1           SHA1                    CRC
+signable?           yes            yes                     no       
+
+retrieve file tip   O(1)           O(1)                    O(revs)
+add rev             O(1)           O(1)                    O(revs)
+find prev file rev  O(1)           O(changesets)           O(revs)
+annotate file       O(1)|O(revs)   O(changesets)           O(revs)
+find file changeset O(1)           O(changesets)           ?
+
+checkout            O(files)       O(files)                O(revs)?
+commit              O(changes)     O(changes)              ?
+                    6 patches/s    6 patches/s             slow
+diff working dir    O(changes)     O(changes)              ?
+                    < 1s           < 1s                    ?
+tree diff revs      O(changes)     O(changes)              ?
+                    < 1s           < 1s                    ?
+local clone         O(files)       O(revisions)            O(files)
+find remote csets   O(log new)     O(revisions)            ?
+pull remote csets   O(patch)       O(modified files)       O(patch)
+                    100 csets/s    8 csets/s               ?
+repo growth         O(patch)       O(revisions)            O(patch)
+ kernel history     250M?          3.5G?                   250M?
+lines of code       2500           6500 (+ cogito)         ??
+
+* I've never used BK so this is just guesses