comparison.txt
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Wed, 19 Apr 2006 11:41:25 -0700
changeset 2096 f5ebe964c6be
parent 1308 2073e5a71008
permissions -rw-r--r--
Ignore EPIPE in pipefilter This hides the following traceback (there's a race condition involved, so you may have to try a few times to hit it): $ hg sign --key key-that-does-not-exist Signing 2062:4bad92f4ea65 gpg: skipped "key-that-does-not-exist": secret key not available gpg: signing failed: secret key not available Exception in thread Thread-1: Traceback (most recent call last): File "threading.py", line 442, in __bootstrap self.run() File "threading.py", line 422, in run self.__target(*self.__args, **self.__kwargs) File "mercurial/util.py", line 24, in writer pin.close() IOError: [Errno 32] Broken pipe abort: Error while signing
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
139
17e66e1a0382 Minor updates to comparison
mpm@selenic.com
parents: 58
diff changeset
     3
storage naming      by filename    by revision hash        by filename
58
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     4
merge               file DAGs      changeset DAG           file DAGs?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     5
consistency         SHA1           SHA1                    CRC
1308
2073e5a71008 Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 139
diff changeset
     6
signable?           yes            yes                     no
58
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     7
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     8
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
     9
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
    10
find prev file rev  O(1)           O(changesets)           O(revs)
139
17e66e1a0382 Minor updates to comparison
mpm@selenic.com
parents: 58
diff changeset
    11
annotate file       O(revs)        O(changesets)           O(revs)
58
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    12
find file changeset O(1)           O(changesets)           ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    13
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    14
checkout            O(files)       O(files)                O(revs)?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    15
commit              O(changes)     O(changes)              ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    16
                    6 patches/s    6 patches/s             slow
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    17
diff working dir    O(changes)     O(changes)              ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    18
                    < 1s           < 1s                    ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    19
tree diff revs      O(changes)     O(changes)              ?
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    20
                    < 1s           < 1s                    ?
139
17e66e1a0382 Minor updates to comparison
mpm@selenic.com
parents: 58
diff changeset
    21
hardlink clone      O(files)       O(revisions)            O(files)
17e66e1a0382 Minor updates to comparison
mpm@selenic.com
parents: 58
diff changeset
    22
17e66e1a0382 Minor updates to comparison
mpm@selenic.com
parents: 58
diff changeset
    23
find remote csets   O(log new)     rsync: O(revisions)     ?
17e66e1a0382 Minor updates to comparison
mpm@selenic.com
parents: 58
diff changeset
    24
                                   git-http: O(changesets)
58
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    25
pull remote csets   O(patch)       O(modified files)       O(patch)
139
17e66e1a0382 Minor updates to comparison
mpm@selenic.com
parents: 58
diff changeset
    26
58
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    27
repo growth         O(patch)       O(revisions)            O(patch)
139
17e66e1a0382 Minor updates to comparison
mpm@selenic.com
parents: 58
diff changeset
    28
 kernel history     300M           3.5G?                   250M?
58
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    29
lines of code       2500           6500 (+ cogito)         ??
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    30
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
    31
* I've never used BK so this is just guesses