comparison.txt
author mpm@selenic.com
Sat, 21 May 2005 17:26:44 -0800
changeset 130 e6678a1beb6a
parent 58 2ab801e0ea9f
child 139 17e66e1a0382
permissions -rw-r--r--
Make hg diff handle files that have been added but not yet committed.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
58
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     1
                    Mercurial      git                     BK (*)
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     2
storage             revlog delta   compressed revisions    SCCS weave
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     3
merge               file DAGs      changeset DAG           file DAGs?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     4
consistency         SHA1           SHA1                    CRC
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     5
signable?           yes            yes                     no       
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     6
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     7
retrieve file tip   O(1)           O(1)                    O(revs)
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     8
add rev             O(1)           O(1)                    O(revs)
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     9
find prev file rev  O(1)           O(changesets)           O(revs)
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    10
annotate file       O(1)|O(revs)   O(changesets)           O(revs)
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    11
find file changeset O(1)           O(changesets)           ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    12
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    13
checkout            O(files)       O(files)                O(revs)?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    14
commit              O(changes)     O(changes)              ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    15
                    6 patches/s    6 patches/s             slow
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    16
diff working dir    O(changes)     O(changes)              ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    17
                    < 1s           < 1s                    ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    18
tree diff revs      O(changes)     O(changes)              ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    19
                    < 1s           < 1s                    ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    20
local clone         O(files)       O(revisions)            O(files)
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    21
find remote csets   O(log new)     O(revisions)            ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    22
pull remote csets   O(patch)       O(modified files)       O(patch)
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    23
                    100 csets/s    8 csets/s               ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    24
repo growth         O(patch)       O(revisions)            O(patch)
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    25
 kernel history     250M?          3.5G?                   250M?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    26
lines of code       2500           6500 (+ cogito)         ??
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    27
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    28
* I've never used BK so this is just guesses