comparison.txt
author mpm@selenic.com
Mon, 27 Jun 2005 23:52:31 -0800
changeset 496 6ce95a04999d
parent 139 17e66e1a0382
child 1308 2073e5a71008
permissions -rw-r--r--
[PATCH] simplify init -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [PATCH] simplify init From: Bryan O'Sullivan <bos@serpentine.com> Remove source directory option from "hg init". manifest hash: 2ace7b16c962fb434340b937fbcd494f3098a85f -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCwQG/ywK+sNU5EO8RArbCAJ9DG45GepMI0Z9KWXqV8gmEbV1WfwCgotih LGAkD8iTfOLn7HIPVqt9FWY= =65uW -----END PGP SIGNATURE-----
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
2ab801e0ea9f A quick set of comparisons between hg, git, and bk
mpm@selenic.com
parents:
diff changeset
     6
signable?           yes            yes                     no       
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