annotate comparison.txt @ 408:3695fbd2c33b

[PATCH] Merging files that are deleted in both branches -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [PATCH] Merging files that are deleted in both branches From: Michael A Fetterman <Michael.Fetterman@cl.cam.ac.uk> OK, attached is an improved version of this patch... When I went back through it, I discovered that the prior version was wrong when doing real merges (as opposed to jumping between revisions that have a simple linear relationship). So that's been addressed here, too. > Here's an hg changeset patch that deals with simultaneous deletion of a file > in both the working directory and in a merged branch. > > Test case included in the patch. manifest hash: c8078733c252403314d8046efa6ecefc49c83050 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCuNF8ywK+sNU5EO8RArtdAJ9syw/JXRZzP1sxnEYXzZywkJLAPACeKpqL 5osA3AggrCbbSLTNcYVXJ8U= =T5Ik -----END PGP SIGNATURE-----
author mpm@selenic.com
date Tue, 21 Jun 2005 18:48:28 -0800
parents 17e66e1a0382
children 2073e5a71008
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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