# HG changeset patch # User mpm@selenic.com # Date 1115889616 28800 # Node ID 2ab801e0ea9fefdfde3250cfd1de5a620b617ebc # Parent 115106376f4544f474f41896021231b2d333c6a1 A quick set of comparisons between hg, git, and bk diff -r 115106376f45 -r 2ab801e0ea9f 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