annotate tests/test-issue672 @ 5096:ad6b97132b81

merge: fix a copy detection bug (issue672) When merging rev1 and rev2, we want to search for copies that happened in rev1 but not in rev2 and vice-versa. We were starting the search at rev1/rev2 and then going back, stopping as soon as we reached the revno of the ancestor, but that can miss some cases (see the new test-issue672). Now we calculate the revisions that are ancestors of rev1 or rev2 (but not both) and make sure the search doesn't stop too early. Simplified test provided by mpm, based on a test case provided by Edward Lee.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sun, 12 Aug 2007 12:15:10 -0300
parents
children 6c82beaaa11a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5096
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
1 #!/bin/sh
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
2
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
3 # 0-2-4
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
4 # \ \ \
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
5 # 1-3-5
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
6 #
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
7 # rename in #1, content change in #4.
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
8
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
9 hg init t
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
10 cd t
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
11
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
12 touch 1
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
13 touch 2
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
14 hg commit -Am init -d "0 0" # 0
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
15
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
16 hg rename 1 1a
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
17 hg commit -m rename -d "0 0" # 1
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
18
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
19 hg co -C 0
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
20 echo unrelated >> 2
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
21 hg ci -m unrelated1 -d "0 0" # 2
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
22
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
23 hg merge --debug 1
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
24 hg ci -m merge1 -d "0 0" # 3
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
25
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
26 hg co -C 2
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
27 echo hello >> 1
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
28 hg ci -m unrelated2 -d "0 0" # 4
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
29
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
30 hg co -C 3
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
31 hg merge -y --debug 4
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
32
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
33 hg co -C 4
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
34 hg merge -y --debug 3
ad6b97132b81 merge: fix a copy detection bug (issue672)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
35