annotate tests/test-copies-chain-merge.t @ 46554:664bee002d1a

test-copies: introduce merge chaing test for the A/E + change tests This is similar to the chaining test we have for the A/E merges (without change). The current result of this tests is wrong, as for they "without change counter part". This will be fixed by a later changesets. Differential Revision: https://phab.mercurial-scm.org/D10052
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 19 Feb 2021 16:37:55 +0100
parents 3aef76c3fd38
children 46205a478a08
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
1 #testcases filelog compatibility changeset sidedata upgraded
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
2
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
3 =====================================================
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
4 Test Copy tracing for chain of copies involving merge
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
5 =====================================================
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
6
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
7 This test files covers copies/rename case for a chains of commit where merges
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
8 are involved. It cheks we do not have unwanted update of behavior and that the
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
9 different options to retrieve copies behave correctly.
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
10
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
11
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
12 Setup
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
13 =====
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
14
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
15 use git diff to see rename
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
16
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
17 $ cat << EOF >> ./no-linkrev
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
18 > #!$PYTHON
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
19 > # filter out linkrev part of the debugindex command
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
20 > import sys
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
21 > for line in sys.stdin:
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
22 > if " linkrev " in line:
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
23 > print(line.rstrip())
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
24 > else:
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
25 > l = "%s *%s" % (line[:6], line[14:].rstrip())
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
26 > print(l)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
27 > EOF
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
28 $ chmod +x no-linkrev
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
29
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
30 $ cat << EOF >> $HGRCPATH
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
31 > [diff]
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
32 > git=yes
45765
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45735
diff changeset
33 > [command-templates]
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
34 > log={desc}\n
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
35 > EOF
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
36
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
37 #if compatibility
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
38 $ cat >> $HGRCPATH << EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
39 > [experimental]
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
40 > copies.read-from = compatibility
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
41 > EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
42 #endif
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
43
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
44 #if changeset
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
45 $ cat >> $HGRCPATH << EOF
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
46 > [experimental]
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
47 > copies.read-from = changeset-only
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
48 > copies.write-to = changeset-only
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
49 > EOF
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
50 #endif
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
51
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
52 #if sidedata
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
53 $ cat >> $HGRCPATH << EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
54 > [format]
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
55 > exp-use-side-data = yes
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
56 > exp-use-copies-side-data-changeset = yes
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
57 > EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
58 #endif
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
59
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
60
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
61 $ cat > same-content.txt << EOF
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
62 > Here is some content that will be the same accros multiple file.
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
63 >
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
64 > This is done on purpose so that we end up in some merge situation, were the
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
65 > resulting content is the same as in the parent(s), but a new filenodes still
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
66 > need to be created to record some file history information (especially
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
67 > about copies).
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
68 > EOF
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
69
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
70 $ hg init repo-chain
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
71 $ cd repo-chain
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
72
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
73 Add some linear rename initialy
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
74
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
75 $ cp ../same-content.txt a
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
76 $ cp ../same-content.txt b
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
77 $ cp ../same-content.txt h
44457
902b559202a6 copies-tests: add a `h` to the root commit (for chain merge tests)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44456
diff changeset
78 $ hg ci -Am 'i-0 initial commit: a b h'
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
79 adding a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
80 adding b
44457
902b559202a6 copies-tests: add a `h` to the root commit (for chain merge tests)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44456
diff changeset
81 adding h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
82 $ hg mv a c
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
83 $ hg ci -Am 'i-1: a -move-> c'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
84 $ hg mv c d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
85 $ hg ci -Am 'i-2: c -move-> d'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
86 $ hg log -G
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
87 @ i-2: c -move-> d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
88 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
89 o i-1: a -move-> c
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
90 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
91 o i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
92
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
93
44453
68e14fecd82a copies-tests: swap two branch description
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44444
diff changeset
94 And having another branch with renames on the other side
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
95
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
96 $ hg mv d e
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
97 $ hg ci -Am 'a-1: d -move-> e'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
98 $ hg mv e f
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
99 $ hg ci -Am 'a-2: e -move-> f'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
100 $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
101 @ a-2: e -move-> f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
102 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
103 o a-1: d -move-> e
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
104 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
105 o i-2: c -move-> d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
106 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
107 o i-1: a -move-> c
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
108 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
109 o i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
110
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
111
44453
68e14fecd82a copies-tests: swap two branch description
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44444
diff changeset
112 Have a branching with nothing on one side
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
113
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
114 $ hg up 'desc("i-2")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
115 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
116 $ echo foo > b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
117 $ hg ci -m 'b-1: b update'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
118 created new head
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
119 $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
120 @ b-1: b update
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
121 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
122 o i-2: c -move-> d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
123 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
124 o i-1: a -move-> c
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
125 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
126 o i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
127
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
128
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
129 Create a branch that delete a file previous renamed
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
130
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
131 $ hg up 'desc("i-2")'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
132 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
133 $ hg rm d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
134 $ hg ci -m 'c-1 delete d'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
135 created new head
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
136 $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
137 @ c-1 delete d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
138 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
139 o i-2: c -move-> d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
140 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
141 o i-1: a -move-> c
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
142 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
143 o i-0 initial commit: a b h
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
144
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
145
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
146 Create a branch that delete a file previous renamed and recreate it
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
147
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
148 $ hg up 'desc("i-2")'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
149 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
150 $ hg rm d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
151 $ hg ci -m 'd-1 delete d'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
152 created new head
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
153 $ echo bar > d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
154 $ hg add d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
155 $ hg ci -m 'd-2 re-add d'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
156 $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
157 @ d-2 re-add d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
158 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
159 o d-1 delete d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
160 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
161 o i-2: c -move-> d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
162 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
163 o i-1: a -move-> c
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
164 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
165 o i-0 initial commit: a b h
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
166
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
167
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
168 Having another branch renaming a different file to the same filename as another
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
169
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
170 $ hg up 'desc("i-2")'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
171 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
172 $ hg mv b g
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
173 $ hg ci -m 'e-1 b -move-> g'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
174 created new head
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
175 $ hg mv g f
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
176 $ hg ci -m 'e-2 g -move-> f'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
177 $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
178 @ e-2 g -move-> f
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
179 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
180 o e-1 b -move-> g
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
181 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
182 o i-2: c -move-> d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
183 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
184 o i-1: a -move-> c
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
185 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
186 o i-0 initial commit: a b h
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
187
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
188
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
189 Setup all merge
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
190 ===============
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
191
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
192 This is done beforehand to validate that the upgrade process creates valid copy
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
193 information.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
194
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
195 merging with unrelated change does not interfere with the renames
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
196 ---------------------------------------------------------------
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
197
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
198 - rename on one side
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
199 - unrelated change on the other side
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
200
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
201 $ case_desc="simple merge - A side: multiple renames, B side: unrelated update"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
202
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
203 $ hg up 'desc("b-1")'
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
204 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
205 $ hg merge 'desc("a-2")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
206 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
207 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
208 $ hg ci -m "mBAm-0 $case_desc - one way"
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
209 $ hg up 'desc("a-2")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
210 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
211 $ hg merge 'desc("b-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
212 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
213 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
214 $ hg ci -m "mABm-0 $case_desc - the other way"
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
215 created new head
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
216 $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
217 @ mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
218 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
219 +---o mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
220 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
221 | o b-1: b update
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
222 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
223 o | a-2: e -move-> f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
224 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
225 o | a-1: d -move-> e
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
226 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
227 o i-2: c -move-> d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
228 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
229 o i-1: a -move-> c
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
230 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
231 o i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
232
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
233
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
234
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
235 merging with the side having a delete
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
236 -------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
237
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
238 case summary:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
239 - one with change to an unrelated file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
240 - one deleting the change
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
241 and recreate an unrelated file after the merge
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
242
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
243 $ case_desc="simple merge - C side: delete a file with copies history , B side: unrelated update"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
244
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
245 $ hg up 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
246 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
247 $ hg merge 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
248 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
249 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
250 $ hg ci -m "mBCm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
251 $ echo bar > d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
252 $ hg add d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
253 $ hg ci -m 'mBCm-1 re-add d'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
254 $ hg up 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
255 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
256 $ hg merge 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
257 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
258 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
259 $ hg ci -m "mCBm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
260 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
261 $ echo bar > d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
262 $ hg add d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
263 $ hg ci -m 'mCBm-1 re-add d'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
264 $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
265 @ mCBm-1 re-add d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
266 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
267 o mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
268 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
269 | | o mBCm-1 re-add d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
270 | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
271 +---o mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
272 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
273 | o c-1 delete d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
274 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
275 o | b-1: b update
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
276 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
277 o i-2: c -move-> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
278 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
279 o i-1: a -move-> c
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
280 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
281 o i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
282
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
283
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
284 Comparing with a merge re-adding the file afterward
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
285 ---------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
286
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
287 Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
288 - one with change to an unrelated file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
289 - one deleting and recreating the change
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
290
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
291 $ case_desc="simple merge - B side: unrelated update, D side: delete and recreate a file (with different content)"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
292
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
293 $ hg up 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
294 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
295 $ hg merge 'desc("d-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
296 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
297 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
298 $ hg ci -m "mBDm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
299 $ hg up 'desc("d-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
300 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
301 $ hg merge 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
302 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
303 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
304 $ hg ci -m "mDBm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
305 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
306 $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
307 @ mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
308 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
309 +---o mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
310 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
311 | o d-2 re-add d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
312 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
313 | o d-1 delete d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
314 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
315 o | b-1: b update
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
316 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
317 o i-2: c -move-> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
318 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
319 o i-1: a -move-> c
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
320 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
321 o i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
322
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
323
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
324
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
325 Comparing with a merge with colliding rename
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
326 --------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
327
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
328 Subcase: new copy information on both side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
329 ``````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
330
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
331 - the "e-" branch renaming b to f (through 'g')
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
332 - the "a-" branch renaming d to f (through e)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
333
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
334 $ case_desc="merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f)"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
335
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
336 $ hg up 'desc("a-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
337 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
338 $ hg merge 'desc("e-2")'
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
339 1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
340 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
341 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
342 $ hg ci -m "mAEm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
343 $ hg up 'desc("e-2")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
344 2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
345 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
346 $ hg merge 'desc("a-2")'
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
347 1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
348 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
349 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
350 $ hg ci -m "mEAm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
351 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
352 $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
353 @ mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
354 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
355 +---o mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
356 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
357 | o e-2 g -move-> f
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
358 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
359 | o e-1 b -move-> g
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
360 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
361 o | a-2: e -move-> f
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
362 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
363 o | a-1: d -move-> e
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
364 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
365 o i-2: c -move-> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
366 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
367 o i-1: a -move-> c
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
368 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
369 o i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
370
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
371
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
372 Subcase: existing copy information overwritten on one branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
373 ````````````````````````````````````````````````````````````
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
374
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
375 Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
376 - one with change to an unrelated file (b)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
377 - one overwriting a file (d) with a rename (from h to i to d)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
378
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
379 $ case_desc="simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d)"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
380
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
381 $ hg up 'desc("i-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
382 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
383 $ hg mv h i
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
384 $ hg commit -m "f-1: rename h -> i"
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
385 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
386 $ hg mv --force i d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
387 $ hg commit -m "f-2: rename i -> d"
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
388 $ hg debugindex d | ../no-linkrev
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
389 rev linkrev nodeid p1 p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
390 0 * d8252ab2e760 000000000000 000000000000 (no-changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
391 0 * ae258f702dfe 000000000000 000000000000 (changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
392 1 * b004912a8510 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
393 2 * 7b79e2fe0c89 000000000000 000000000000 (no-changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
394 $ hg up 'desc("b-1")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
395 3 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
396 2 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
397 $ hg merge 'desc("f-2")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
398 1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
399 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
400 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
401 $ hg ci -m "mBFm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
402 $ hg up 'desc("f-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
403 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
404 $ hg merge 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
405 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
406 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
407 $ hg ci -m "mFBm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
408 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
409 $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
410 @ mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
411 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
412 +---o mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
413 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
414 | o f-2: rename i -> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
415 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
416 | o f-1: rename h -> i
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
417 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
418 o | b-1: b update
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
419 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
420 o i-2: c -move-> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
421 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
422 o i-1: a -move-> c
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
423 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
424 o i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
425
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
426
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
427
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
428 Subcase: reset of the copy history on one side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
429 ``````````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
430
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
431 Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
432 - one with change to a file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
433 - one deleting and recreating the file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
434
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
435 Unlike in the 'BD/DB' cases, an actual merge happened here. So we should
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
436 consider history and rename on both branch of the merge.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
437
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
438 $ case_desc="actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
439
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
440 $ hg up 'desc("i-2")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
441 3 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
442 2 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
443 $ echo "some update" >> d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
444 $ hg commit -m "g-1: update d"
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
445 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
446 $ hg up 'desc("d-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
447 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
448 $ hg merge 'desc("g-1")' --tool :union
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
449 merging d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
450 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
451 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
452 $ hg ci -m "mDGm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
453 $ hg up 'desc("g-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
454 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
455 $ hg merge 'desc("d-2")' --tool :union
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
456 merging d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
457 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
458 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
459 $ hg ci -m "mGDm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
460 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
461 $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
462 @ mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
463 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
464 +---o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
465 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
466 | o g-1: update d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
467 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
468 o | d-2 re-add d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
469 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
470 o | d-1 delete d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
471 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
472 o i-2: c -move-> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
473 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
474 o i-1: a -move-> c
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
475 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
476 o i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
477
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
478
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
479 Subcase: merging a change to a file with a "copy overwrite" to that file from another branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
480 ````````````````````````````````````````````````````````````````````````````````````````````
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
481
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
482 Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
483 - one with change to a file (d)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
484 - one overwriting that file with a rename (from h to i, to d)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
485
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
486 This case is similar to BF/FB, but an actual merge happens, so both side of the
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
487 history are relevant.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
488
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
489 Note:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
490 | In this case, the merge get conflicting information since on one side we have
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
491 | "a -> c -> d". and one the other one we have "h -> i -> d".
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
492 |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
493 | The current code arbitrarily pick one side
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
494
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
495 $ case_desc="merge - G side: content change, F side: copy overwrite, no content change"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
496
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
497 $ hg up 'desc("f-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
498 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
499 $ hg merge 'desc("g-1")' --tool :union
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
500 merging d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
501 0 files updated, 1 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
502 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
503 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
504 $ hg ci -m "mFGm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
505 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
506 $ hg up 'desc("g-1")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
507 2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
508 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
509 $ hg merge 'desc("f-2")' --tool :union
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
510 merging d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
511 0 files updated, 1 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
512 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
513 (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
514 $ hg ci -m "mGFm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
515 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
516 $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
517 @ mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
518 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
519 +---o mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
520 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
521 | o g-1: update d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
522 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
523 o | f-2: rename i -> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
524 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
525 o | f-1: rename h -> i
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
526 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
527 o i-2: c -move-> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
528 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
529 o i-1: a -move-> c
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
530 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
531 o i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
532
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
533
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
534
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
535 Comparing with merging with a deletion (and keeping the file)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
536 -------------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
537
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
538 Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
539 - one removing a file (d)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
540 - one updating that file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
541 - the merge keep the modified version of the file (canceling the delete)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
542
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
543 In this case, the file keep on living after the merge. So we should not drop its
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
544 copy tracing chain.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
545
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
546 $ case_desc="merge updated/deleted - revive the file (updated content)"
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
547
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
548 $ hg up 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
549 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
550 $ hg merge 'desc("g-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
551 file 'd' was deleted in local [working copy] but was modified in other [merge rev].
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
552 You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
553 What do you want to do? u
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
554 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
555 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
556 [1]
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
557 $ hg resolve -t :other d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
558 (no more unresolved files)
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
559 $ hg ci -m "mCGm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
560 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
561
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
562 $ hg up 'desc("g-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
563 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
564 $ hg merge 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
565 file 'd' was deleted in other [merge rev] but was modified in local [working copy].
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
566 You can use (c)hanged version, (d)elete, or leave (u)nresolved.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
567 What do you want to do? u
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
568 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
569 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
570 [1]
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
571 $ hg resolve -t :local d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
572 (no more unresolved files)
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
573 $ hg ci -m "mGCm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
574 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
575
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
576 $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
577 @ mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
578 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
579 +---o mCGm-0 merge updated/deleted - revive the file (updated content) - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
580 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
581 | o g-1: update d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
582 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
583 o | c-1 delete d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
584 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
585 o i-2: c -move-> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
586 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
587 o i-1: a -move-> c
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
588 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
589 o i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
590
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
591
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
592
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
593
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
594 Comparing with merge restoring an untouched deleted file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
595 --------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
596
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
597 Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
598 - one removing a file (d)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
599 - one leaving the file untouched
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
600 - the merge actively restore the file to the same content.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
601
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
602 In this case, the file keep on living after the merge. So we should not drop its
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
603 copy tracing chain.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
604
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
605 $ case_desc="merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge)"
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
606
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
607 $ hg up 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
608 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
609 $ hg merge 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
610 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
611 (branch merge, don't forget to commit)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
612 $ hg revert --rev 'desc("b-1")' d
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
613 $ hg ci -m "mCB-revert-m-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
614 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
615
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
616 $ hg up 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
617 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
618 $ hg merge 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
619 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
620 (branch merge, don't forget to commit)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
621 $ hg revert --rev 'desc("b-1")' d
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
622 $ hg ci -m "mBC-revert-m-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
623 created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
624
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
625 $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
626 @ mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
627 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
628 +---o mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
629 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
630 | o c-1 delete d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
631 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
632 o | b-1: b update
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
633 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
634 o i-2: c -move-> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
635 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
636 o i-1: a -move-> c
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
637 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
638 o i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
639
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
640
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
641
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
642 $ hg up null --quiet
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
643
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
644 Merging a branch where a rename was deleted with a branch where the same file was renamed
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
645 ------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
646
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
647 Create a "conflicting" merge where `d` get removed on one branch before its
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
648 rename information actually conflict with the other branch.
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
649
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
650 (the copy information from the branch that was not deleted should win).
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
651
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
652 $ case_desc="simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch)"
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
653
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
654 $ hg up 'desc("i-0")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
655 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
656 $ hg mv b d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
657 $ hg ci -m "h-1: b -(move)-> d"
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
658 created new head
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
659
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
660 $ hg up 'desc("c-1")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
661 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
662 $ hg merge 'desc("h-1")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
663 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
664 (branch merge, don't forget to commit)
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
665 $ hg ci -m "mCH-delete-before-conflict-m-0 $case_desc - one way"
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
666
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
667 $ hg up 'desc("h-1")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
668 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
669 $ hg merge 'desc("c-1")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
670 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
671 (branch merge, don't forget to commit)
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
672 $ hg ci -m "mHC-delete-before-conflict-m-0 $case_desc - the other way"
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
673 created new head
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
674 $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
675 @ mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
676 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
677 +---o mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
678 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
679 | o h-1: b -(move)-> d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
680 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
681 o | c-1 delete d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
682 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
683 o | i-2: c -move-> d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
684 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
685 o | i-1: a -move-> c
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
686 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
687 o i-0 initial commit: a b h
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
688
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
689
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
690 Variant of previous with extra changes introduced by the merge
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
691 --------------------------------------------------------------
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
692
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
693 Multiple cases above explicitely test cases where content are the same on both side during merge. In this section we will introduce variants for theses cases where new change are introduced to these file content during the merges.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
694
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
695
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
696 Subcase: merge has same initial content on both side, but merge introduced a change
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
697 ```````````````````````````````````````````````````````````````````````````````````
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
698
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
699 Same as `mAEm` and `mEAm` but with extra change to the file before commiting
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
700
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
701 - the "e-" branch renaming b to f (through 'g')
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
702 - the "a-" branch renaming d to f (through e)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
703
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
704 $ case_desc="merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent)"
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
705
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
706 $ hg up 'desc("a-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
707 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
708 $ hg merge 'desc("e-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
709 1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
710 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
711 (branch merge, don't forget to commit)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
712 $ echo "content change for mAE-change-m" > f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
713 $ hg ci -m "mAE-change-m-0 $case_desc - one way"
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
714 created new head
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
715 $ hg up 'desc("e-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
716 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
717 $ hg merge 'desc("a-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
718 1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
719 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
720 (branch merge, don't forget to commit)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
721 $ echo "content change for mEA-change-m" > f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
722 $ hg ci -m "mEA-change-m-0 $case_desc - the other way"
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
723 created new head
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
724 $ hg log -G --rev '::(desc("mAE-change-m")+desc("mEA-change-m"))'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
725 @ mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
726 |\
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
727 +---o mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
728 | |/
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
729 | o e-2 g -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
730 | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
731 | o e-1 b -move-> g
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
732 | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
733 o | a-2: e -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
734 | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
735 o | a-1: d -move-> e
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
736 |/
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
737 o i-2: c -move-> d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
738 |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
739 o i-1: a -move-> c
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
740 |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
741 o i-0 initial commit: a b h
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
742
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
743
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
744 Decision from previous merge are properly chained with later merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
745 ------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
746
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
747 Subcase: chaining conflicting rename resolution
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
748 ```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
749
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
750 The "mAEm" and "mEAm" case create a rename tracking conflict on file 'f'. We
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
751 add more change on the respective branch and merge again. These second merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
752 does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
753 about that file should stay unchanged.
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
754
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
755 $ case_desc="chained merges (conflict -> simple) - same content everywhere"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
756
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
757 (extra unrelated changes)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
758
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
759 $ hg up 'desc("a-2")'
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
760 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
761 $ echo j > unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
762 $ hg add unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
763 $ hg ci -m 'j-1: unrelated changes (based on the "a" series of changes)'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
764 created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
765
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
766 $ hg up 'desc("e-2")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
767 2 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
768 1 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
769 $ echo k > unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
770 $ hg add unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
771 $ hg ci -m 'k-1: unrelated changes (based on "e" changes)'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
772 created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
773
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
774 (merge variant 1)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
775
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
776 $ hg up 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
777 1 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
778 0 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
779 $ hg merge 'desc("k-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
780 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
781 (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
782 $ hg ci -m "mAE,Km: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
783
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
784 (merge variant 2)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
785
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
786 $ hg up 'desc("k-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
787 2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
788 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
789
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
790 $ hg merge 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
791 1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
792 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
793 (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
794 $ hg ci -m "mK,AEm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
795 created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
796
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
797 (merge variant 3)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
798
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
799 $ hg up 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
800 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
801 $ hg merge 'desc("j-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
802 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
803 (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
804 $ hg ci -m "mEA,Jm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
805
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
806 (merge variant 4)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
807
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
808 $ hg up 'desc("j-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
809 2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
810 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
811 $ hg merge 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
812 1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
813 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
814 (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
815 $ hg ci -m "mJ,EAm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
816 created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
817
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
818
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
819 $ hg log -G --rev '::(desc("mAE,Km") + desc("mK,AEm") + desc("mEA,Jm") + desc("mJ,EAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
820 @ mJ,EAm: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
821 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
822 +---o mEA,Jm: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
823 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
824 | | o mK,AEm: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
825 | | |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
826 | | +---o mAE,Km: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
827 | | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
828 | | | o k-1: unrelated changes (based on "e" changes)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
829 | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
830 | o | | j-1: unrelated changes (based on the "a" series of changes)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
831 | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
832 o-----+ mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
833 |/ / /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
834 | o / mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
835 |/|/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
836 | o e-2 g -move-> f
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
837 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
838 | o e-1 b -move-> g
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
839 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
840 o | a-2: e -move-> f
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
841 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
842 o | a-1: d -move-> e
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
843 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
844 o i-2: c -move-> d
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
845 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
846 o i-1: a -move-> c
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
847 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
848 o i-0 initial commit: a b h
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
849
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
850
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
851 Subcase: chaining salvage information during a merge
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
852 ````````````````````````````````````````````````````
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
853
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
854 We add more change on the branch were the file was deleted. merging again
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
855 should preserve the fact eh file was salvaged.
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
856
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
857 $ case_desc="chained merges (salvaged -> simple) - same content (when the file exists)"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
858
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
859 (creating the change)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
860
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
861 $ hg up 'desc("c-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
862 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
863 $ echo l > unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
864 $ hg add unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
865 $ hg ci -m 'l-1: unrelated changes (based on "c" changes)'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
866 created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
867
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
868 (Merge variant 1)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
869
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
870 $ hg up 'desc("mBC-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
871 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
872 $ hg merge 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
873 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
874 (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
875 $ hg ci -m "mBC+revert,Lm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
876
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
877 (Merge variant 2)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
878
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
879 $ hg up 'desc("mCB-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
880 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
881 $ hg merge 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
882 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
883 (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
884 $ hg ci -m "mCB+revert,Lm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
885
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
886 (Merge variant 3)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
887
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
888 $ hg up 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
889 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
890
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
891 $ hg merge 'desc("mBC-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
892 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
893 (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
894 $ hg ci -m "mL,BC+revertm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
895 created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
896
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
897 (Merge variant 4)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
898
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
899 $ hg up 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
900 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
901
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
902 $ hg merge 'desc("mCB-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
903 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
904 (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
905 $ hg ci -m "mL,CB+revertm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
906 created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
907
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
908 $ hg log -G --rev '::(desc("mBC+revert,Lm") + desc("mCB+revert,Lm") + desc("mL,BC+revertm") + desc("mL,CB+revertm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
909 @ mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
910 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
911 | | o mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
912 | |/|
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
913 +-+---o mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
914 | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
915 | +---o mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
916 | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
917 | o | l-1: unrelated changes (based on "c" changes)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
918 | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
919 | | o mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
920 | |/|
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
921 o---+ mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
922 |/ /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
923 o | c-1 delete d
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
924 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
925 | o b-1: b update
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
926 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
927 o i-2: c -move-> d
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
928 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
929 o i-1: a -move-> c
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
930 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
931 o i-0 initial commit: a b h
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
932
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
933
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
934
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
935 Subcase: chaining "merged" information during a merge
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
936 ``````````````````````````````````````````````````````
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
937
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
938 When a non-rename change are merged with a copy overwrite, the merge pick the copy source from (p1) as the reference. We should preserve this information in subsequent merges.
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
939
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
940 $ case_desc="chained merges (copy-overwrite -> simple) - same content"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
941
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
942 (extra unrelated changes)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
943
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
944 $ hg up 'desc("f-2")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
945 2 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
946 1 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
947 $ echo n > unrelated-n
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
948 $ hg add unrelated-n
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
949 $ hg ci -m 'n-1: unrelated changes (based on the "f" series of changes)'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
950 created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
951
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
952 $ hg up 'desc("g-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
953 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
954 $ echo o > unrelated-o
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
955 $ hg add unrelated-o
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
956 $ hg ci -m 'o-1: unrelated changes (based on "g" changes)'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
957 created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
958
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
959 (merge variant 1)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
960
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
961 $ hg up 'desc("mFGm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
962 1 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
963 0 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
964 $ hg merge 'desc("o-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
965 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
966 (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
967 $ hg ci -m "mFG,Om: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
968
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
969 (merge variant 2)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
970
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
971 $ hg up 'desc("o-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
972 2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
973 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
974 $ hg merge 'desc("FGm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
975 1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
976 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
977 (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
978 $ hg ci -m "mO,FGm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
979 created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
980
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
981 (merge variant 3)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
982
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
983 $ hg up 'desc("mGFm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
984 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
985 $ hg merge 'desc("n-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
986 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
987 (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
988 $ hg ci -m "mGF,Nm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
989
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
990 (merge variant 4)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
991
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
992 $ hg up 'desc("n-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
993 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
994 $ hg merge 'desc("mGFm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
995 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
996 (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
997 $ hg ci -m "mN,GFm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
998 created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
999
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1000 $ hg log -G --rev '::(desc("mFG,Om") + desc("mO,FGm") + desc("mGF,Nm") + desc("mN,GFm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1001 @ mN,GFm: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1002 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1003 +---o mGF,Nm: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1004 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1005 | | o mO,FGm: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1006 | | |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1007 | | +---o mFG,Om: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1008 | | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1009 | | | o o-1: unrelated changes (based on "g" changes)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1010 | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1011 | o | | n-1: unrelated changes (based on the "f" series of changes)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1012 | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1013 o-----+ mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1014 |/ / /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1015 | o / mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1016 |/|/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1017 | o g-1: update d
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1018 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1019 o | f-2: rename i -> d
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1020 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1021 o | f-1: rename h -> i
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1022 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1023 o i-2: c -move-> d
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1024 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1025 o i-1: a -move-> c
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1026 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1027 o i-0 initial commit: a b h
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1028
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1029
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1030 Subcase: chaining conflicting rename resolution, with extra change during the merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1031 ```````````````````````````````````````````````````````````````````````````````````
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1032
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1033 The "mEA-change-m-0" and "mAE-change-m-0" case create a rename tracking conflict on file 'f'. We
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1034 add more change on the respective branch and merge again. These second merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1035 does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1036 about that file should stay unchanged.
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1037
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1038 $ case_desc="chained merges (conflict+change -> simple) - same content on both branch in the initial merge"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1039
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1040
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1041 (merge variant 1)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1042
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1043 $ hg up 'desc("mAE-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1044 2 files updated, 0 files merged, 3 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1045 $ hg merge 'desc("k-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1046 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1047 (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1048 $ hg ci -m "mAE-change,Km: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1049
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1050 (merge variant 2)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1051
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1052 $ hg up 'desc("k-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1053 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1054
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1055 $ hg merge 'desc("mAE-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1056 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1057 (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1058 $ hg ci -m "mK,AE-change-m: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1059 created new head
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1060
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1061 (merge variant 3)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1062
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1063 $ hg up 'desc("mEA-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1064 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1065 $ hg merge 'desc("j-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1066 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1067 (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1068 $ hg ci -m "mEA-change,Jm: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1069
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1070 (merge variant 4)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1071
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1072 $ hg up 'desc("j-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1073 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1074 $ hg merge 'desc("mEA-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1075 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1076 (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1077 $ hg ci -m "mJ,EA-change-m: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1078 created new head
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1079
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1080
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1081 $ hg log -G --rev '::(desc("mAE-change,Km") + desc("mK,AE-change-m") + desc("mEA-change,Jm") + desc("mJ,EA-change-m"))'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1082 @ mJ,EA-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1083 |\
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1084 +---o mEA-change,Jm: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1085 | |/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1086 | | o mK,AE-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1087 | | |\
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1088 | | +---o mAE-change,Km: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1089 | | | |/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1090 | | | o k-1: unrelated changes (based on "e" changes)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1091 | | | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1092 | o | | j-1: unrelated changes (based on the "a" series of changes)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1093 | | | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1094 o-----+ mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1095 |/ / /
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1096 | o / mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1097 |/|/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1098 | o e-2 g -move-> f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1099 | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1100 | o e-1 b -move-> g
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1101 | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1102 o | a-2: e -move-> f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1103 | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1104 o | a-1: d -move-> e
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1105 |/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1106 o i-2: c -move-> d
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1107 |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1108 o i-1: a -move-> c
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1109 |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1110 o i-0 initial commit: a b h
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1111
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1112
46185
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1113 Summary of all created cases
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1114 ----------------------------
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1115
46186
5f27924a201d copies-tests: update to null in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46185
diff changeset
1116 $ hg up --quiet null
5f27924a201d copies-tests: update to null in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46185
diff changeset
1117
46185
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1118 (This exists to help keeping a compact list of the various cases we have built)
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1119
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1120 $ hg log -T '{desc|firstline}\n'| sort
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1121 a-1: d -move-> e
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1122 a-2: e -move-> f
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1123 b-1: b update
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1124 c-1 delete d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1125 d-1 delete d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1126 d-2 re-add d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1127 e-1 b -move-> g
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1128 e-2 g -move-> f
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1129 f-1: rename h -> i
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1130 f-2: rename i -> d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1131 g-1: update d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1132 h-1: b -(move)-> d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1133 i-0 initial commit: a b h
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1134 i-1: a -move-> c
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1135 i-2: c -move-> d
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1136 j-1: unrelated changes (based on the "a" series of changes)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1137 k-1: unrelated changes (based on "e" changes)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1138 l-1: unrelated changes (based on "c" changes)
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
1139 mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1140 mAE,Km: chained merges (conflict -> simple) - same content everywhere
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1141 mAE-change,Km: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1142 mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
1143 mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
1144 mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1145 mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
1146 mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
1147 mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
46185
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1148 mBCm-1 re-add d
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
1149 mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
1150 mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1151 mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
1152 mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
1153 mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
46185
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1154 mCBm-1 re-add d
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
1155 mCGm-0 merge updated/deleted - revive the file (updated content) - one way
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
1156 mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
1157 mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
1158 mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1159 mEA,Jm: chained merges (conflict -> simple) - same content everywhere
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1160 mEA-change,Jm: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1161 mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
1162 mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
1163 mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1164 mFG,Om: chained merges (copy-overwrite -> simple) - same content
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
1165 mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
1166 mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
1167 mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1168 mGF,Nm: chained merges (copy-overwrite -> simple) - same content
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
1169 mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
1170 mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1171 mJ,EA-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1172 mJ,EAm: chained merges (conflict -> simple) - same content everywhere
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1173 mK,AE-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1174 mK,AEm: chained merges (conflict -> simple) - same content everywhere
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1175 mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1176 mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1177 mN,GFm: chained merges (copy-overwrite -> simple) - same content
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1178 mO,FGm: chained merges (copy-overwrite -> simple) - same content
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1179 n-1: unrelated changes (based on the "f" series of changes)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1180 o-1: unrelated changes (based on "g" changes)
46185
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1181
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
1182
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1183 Test that sidedata computations during upgrades are correct
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1184 ===========================================================
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1185
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1186 We upgrade a repository that is not using sidedata (the filelog case) and
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1187 check that the same side data have been generated as if they were computed at
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1188 commit time.
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1189
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1190
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
1191 #if upgraded
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1192 $ cat >> $HGRCPATH << EOF
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1193 > [format]
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1194 > exp-use-side-data = yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1195 > exp-use-copies-side-data-changeset = yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1196 > EOF
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1197 $ hg debugformat -v
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1198 format-variant repo config default
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1199 fncache: yes yes yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1200 dotencode: yes yes yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1201 generaldelta: yes yes yes
46334
4b0192f592cf share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46186
diff changeset
1202 share-safe: no no no
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1203 sparserevlog: yes yes yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1204 sidedata: no yes no
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1205 persistent-nodemap: no no no
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1206 copies-sdc: no yes no
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1207 plain-cl-delta: yes yes yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1208 compression: * (glob)
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1209 compression-level: default default default
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1210 $ hg debugupgraderepo --run --quiet
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1211 upgrade will perform the following actions:
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1212
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1213 requirements
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1214 preserved: * (glob)
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1215 added: exp-copies-sidedata-changeset, exp-sidedata-flag
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1216
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
1217 processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
1218 - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
1219 - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
1220 - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
1221
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1222 #endif
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1223
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1224
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
1225 #if no-compatibility no-filelog no-changeset
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1226
46479
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
1227 $ hg debugchangedfiles --compute 0
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
1228 added : a, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
1229 added : b, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
1230 added : h, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
1231
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1232 $ for rev in `hg log --rev 'all()' -T '{rev}\n'`; do
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1233 > case_id=`hg log -r $rev -T '{word(0, desc, ":")}\n'`
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1234 > echo "##### revision \"$case_id\" #####"
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1235 > hg debugsidedata -c -v -- $rev
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1236 > hg debugchangedfiles $rev
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1237 > done
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1238 ##### revision "i-0 initial commit" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1239 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1240 entry-0014 size 34
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1241 '\x00\x00\x00\x03\x04\x00\x00\x00\x01\x00\x00\x00\x00\x04\x00\x00\x00\x02\x00\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x00\x00abh'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1242 added : a, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1243 added : b, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1244 added : h, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1245 ##### revision "i-1" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1246 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1247 entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1248 '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00ac'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1249 removed : a, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1250 added p1: c, a;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1251 ##### revision "i-2" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1252 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1253 entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1254 '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00cd'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1255 removed : c, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1256 added p1: d, c;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1257 ##### revision "a-1" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1258 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1259 entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1260 '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00de'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1261 removed : d, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1262 added p1: e, d;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1263 ##### revision "a-2" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1264 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1265 entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1266 '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00ef'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1267 removed : e, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1268 added p1: f, e;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1269 ##### revision "b-1" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1270 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1271 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1272 '\x00\x00\x00\x01\x14\x00\x00\x00\x01\x00\x00\x00\x00b'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1273 touched : b, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1274 ##### revision "c-1 delete d" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1275 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1276 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1277 '\x00\x00\x00\x01\x0c\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1278 removed : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1279 ##### revision "d-1 delete d" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1280 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1281 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1282 '\x00\x00\x00\x01\x0c\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1283 removed : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1284 ##### revision "d-2 re-add d" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1285 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1286 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1287 '\x00\x00\x00\x01\x04\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1288 added : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1289 ##### revision "e-1 b -move-> g" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1290 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1291 entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1292 '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00bg'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1293 removed : b, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1294 added p1: g, b;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1295 ##### revision "e-2 g -move-> f" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1296 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1297 entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1298 '\x00\x00\x00\x02\x06\x00\x00\x00\x01\x00\x00\x00\x01\x0c\x00\x00\x00\x02\x00\x00\x00\x00fg'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1299 added p1: f, g;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1300 removed : g, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1301 ##### revision "mBAm-0 simple merge - A side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1302 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1303 entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1304 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1305 ##### revision "mABm-0 simple merge - A side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1306 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1307 entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1308 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1309 ##### revision "mBCm-0 simple merge - C side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1310 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1311 entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1312 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1313 ##### revision "mBCm-1 re-add d" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1314 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1315 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1316 '\x00\x00\x00\x01\x04\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1317 added : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1318 ##### revision "mCBm-0 simple merge - C side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1319 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1320 entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1321 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1322 ##### revision "mCBm-1 re-add d" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1323 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1324 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1325 '\x00\x00\x00\x01\x04\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1326 added : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1327 ##### revision "mBDm-0 simple merge - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1328 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1329 entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1330 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1331 ##### revision "mDBm-0 simple merge - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1332 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1333 entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1334 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1335 ##### revision "mAEm-0 merge with copies info on both side - A side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1336 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1337 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1338 '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1339 merged : f, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1340 ##### revision "mEAm-0 merge with copies info on both side - A side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1341 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1342 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1343 '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1344 merged : f, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1345 ##### revision "f-1" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1346 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1347 entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1348 '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00hi'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1349 removed : h, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1350 added p1: i, h;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1351 ##### revision "f-2" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1352 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1353 entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1354 '\x00\x00\x00\x02\x16\x00\x00\x00\x01\x00\x00\x00\x01\x0c\x00\x00\x00\x02\x00\x00\x00\x00di'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1355 touched p1: d, i;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1356 removed : i, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1357 ##### revision "mBFm-0 simple merge - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1358 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1359 entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1360 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1361 ##### revision "mFBm-0 simple merge - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1362 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1363 entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1364 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1365 ##### revision "g-1" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1366 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1367 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1368 '\x00\x00\x00\x01\x14\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1369 touched : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1370 ##### revision "mDGm-0 actual content merge, copies on one side - D side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1371 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1372 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1373 '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1374 merged : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1375 ##### revision "mGDm-0 actual content merge, copies on one side - D side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1376 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1377 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1378 '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1379 merged : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1380 ##### revision "mFGm-0 merge - G side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1381 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1382 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1383 '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1384 merged : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1385 ##### revision "mGFm-0 merge - G side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1386 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1387 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1388 '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1389 merged : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1390 ##### revision "mCGm-0 merge updated/deleted - revive the file (updated content) - one way" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1391 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1392 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1393 '\x00\x00\x00\x01\x10\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1394 salvaged : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1395 ##### revision "mGCm-0 merge updated/deleted - revive the file (updated content) - the other way" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1396 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1397 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1398 '\x00\x00\x00\x01\x10\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1399 salvaged : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1400 ##### revision "mCB-revert-m-0 merge explicitely revive deleted file - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1401 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1402 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1403 '\x00\x00\x00\x01\x10\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1404 salvaged : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1405 ##### revision "mBC-revert-m-0 merge explicitely revive deleted file - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1406 1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1407 entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1408 '\x00\x00\x00\x01\x10\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1409 salvaged : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1410 ##### revision "h-1" #####
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
1411 1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
1412 entry-0014 size 24
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
1413 '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00bd'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
1414 removed : b, ;
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
1415 added p1: d, b;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1416 ##### revision "mCH-delete-before-conflict-m-0 simple merge - C side" #####
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
1417 1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
1418 entry-0014 size 4
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
1419 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1420 ##### revision "mHC-delete-before-conflict-m-0 simple merge - C side" #####
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
1421 1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
1422 entry-0014 size 4
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
1423 '\x00\x00\x00\x00'
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1424 ##### revision "mAE-change-m-0 merge with file update and copies info on both side - A side" #####
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1425 1 sidedata entries
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1426 entry-0014 size 14
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1427 '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1428 merged : f, ;
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1429 ##### revision "mEA-change-m-0 merge with file update and copies info on both side - A side" #####
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1430 1 sidedata entries
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1431 entry-0014 size 14
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1432 '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1433 merged : f, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1434 ##### revision "j-1" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1435 1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1436 entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1437 '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-j'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1438 added : unrelated-j, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1439 ##### revision "k-1" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1440 1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1441 entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1442 '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-k'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1443 added : unrelated-k, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1444 ##### revision "mAE,Km" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1445 1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1446 entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1447 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1448 ##### revision "mK,AEm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1449 1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1450 entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1451 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1452 ##### revision "mEA,Jm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1453 1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1454 entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1455 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1456 ##### revision "mJ,EAm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1457 1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1458 entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
1459 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1460 ##### revision "l-1" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1461 1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1462 entry-0014 size 24
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1463 '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-l'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1464 added : unrelated-l, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1465 ##### revision "mBC+revert,Lm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1466 1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1467 entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1468 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1469 ##### revision "mCB+revert,Lm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1470 1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1471 entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1472 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1473 ##### revision "mL,BC+revertm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1474 1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1475 entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1476 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1477 ##### revision "mL,CB+revertm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1478 1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1479 entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
1480 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1481 ##### revision "n-1" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1482 1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1483 entry-0014 size 24
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1484 '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-n'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1485 added : unrelated-n, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1486 ##### revision "o-1" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1487 1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1488 entry-0014 size 24
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1489 '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-o'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1490 added : unrelated-o, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1491 ##### revision "mFG,Om" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1492 1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1493 entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1494 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1495 ##### revision "mO,FGm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1496 1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1497 entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1498 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1499 ##### revision "mGF,Nm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1500 1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1501 entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1502 '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
1503 ##### revision "mN,GFm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1504 1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1505 entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
1506 '\x00\x00\x00\x00'
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1507 ##### revision "mAE-change,Km" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1508 1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1509 entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1510 '\x00\x00\x00\x00'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1511 ##### revision "mK,AE-change-m" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1512 1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1513 entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1514 '\x00\x00\x00\x00'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1515 ##### revision "mEA-change,Jm" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1516 1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1517 entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1518 '\x00\x00\x00\x00'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1519 ##### revision "mJ,EA-change-m" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1520 1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1521 entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
1522 '\x00\x00\x00\x00'
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1523
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1524 #endif
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1525
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
1526
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1527 Test copy information chaining
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1528 ==============================
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1529
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1530 Check that matching only affect the destination and not intermediate path
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1531 -------------------------------------------------------------------------
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1532
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1533 The two status call should give the same value for f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1534
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1535 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("a-2")'
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1536 A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1537 a
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1538 R a
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1539 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("a-2")' f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1540 A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1541 a (no-changeset no-compatibility !)
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
1542
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1543 merging with unrelated change does not interfere with the renames
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1544 ---------------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1545
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1546 - rename on one side
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1547 - unrelated change on the other side
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1548
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1549 $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1550 o mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1551 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1552 +---o mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1553 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1554 | o b-1: b update
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1555 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1556 o | a-2: e -move-> f
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1557 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1558 o | a-1: d -move-> e
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1559 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1560 o i-2: c -move-> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1561 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1562 o i-1: a -move-> c
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1563 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1564 o i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1565
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
1566
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1567 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1568 A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1569 d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1570 R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1571 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1572 A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1573 d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1574 R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1575 $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1576 M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1577 $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1578 M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1579 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1580 M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1581 A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1582 d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1583 R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1584 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1585 M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1586 A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1587 d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1588 R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1589 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1590 M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1591 A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1592 a
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1593 R a
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1594 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1595 M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1596 A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1597 a
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1598 R a
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1599
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1600 merging with the side having a delete
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1601 -------------------------------------
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1602
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1603 case summary:
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1604 - one with change to an unrelated file
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1605 - one deleting the change
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1606 and recreate an unrelated file after the merge
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1607
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1608 $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1609 o mCBm-1 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1610 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1611 o mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1612 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1613 | | o mBCm-1 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1614 | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1615 +---o mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1616 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1617 | o c-1 delete d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1618 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1619 o | b-1: b update
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1620 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1621 o i-2: c -move-> d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1622 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1623 o i-1: a -move-> c
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1624 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1625 o i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1626
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1627 - comparing from the merge
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1628
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1629 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBCm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1630 R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1631 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mCBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1632 R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1633 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mBCm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1634 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1635 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1636 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1637 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mBCm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1638 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1639 R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1640 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mCBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1641 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1642 R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1643 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBCm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1644 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1645 R a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1646 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1647 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1648 R a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1649
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1650 - comparing with the merge children re-adding the file
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1651
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1652 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBCm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1653 M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1654 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mCBm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1655 M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1656 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mBCm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1657 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1658 A d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1659 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCBm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1660 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1661 A d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1662 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mBCm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1663 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1664 M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1665 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mCBm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1666 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1667 M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1668 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBCm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1669 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1670 A d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1671 R a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1672 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCBm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1673 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1674 A d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1675 R a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1676
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1677 Comparing with a merge re-adding the file afterward
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1678 ---------------------------------------------------
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1679
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1680 Merge:
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1681 - one with change to an unrelated file
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1682 - one deleting and recreating the change
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1683
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1684 $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1685 o mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1686 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1687 +---o mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1688 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1689 | o d-2 re-add d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1690 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1691 | o d-1 delete d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1692 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1693 o | b-1: b update
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1694 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1695 o i-2: c -move-> d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1696 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1697 o i-1: a -move-> c
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1698 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1699 o i-0 initial commit: a b h
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1700
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1701 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBDm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1702 M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1703 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mDBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1704 M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1705 $ hg status --copies --rev 'desc("d-2")' --rev 'desc("mBDm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1706 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1707 $ hg status --copies --rev 'desc("d-2")' --rev 'desc("mDBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1708 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1709 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mBDm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1710 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1711 M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1712 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mDBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1713 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1714 M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1715
44454
b8882f5d7cb4 copies-tests: update the analysis of the BD/DB cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44453
diff changeset
1716 The bugs makes recorded copy is different depending of where we started the merge from since
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1717
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1718 $ hg manifest --debug --rev 'desc("mBDm-0")' | grep '644 d'
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
1719 b004912a8510032a0350a74daa2803dadfb00e12 644 d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1720 $ hg manifest --debug --rev 'desc("mDBm-0")' | grep '644 d'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1721 b004912a8510032a0350a74daa2803dadfb00e12 644 d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1722
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1723 $ hg manifest --debug --rev 'desc("d-2")' | grep '644 d'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1724 b004912a8510032a0350a74daa2803dadfb00e12 644 d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1725 $ hg manifest --debug --rev 'desc("b-1")' | grep '644 d'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
1726 d8252ab2e760b0d4e5288fd44cbd15a0fa567e16 644 d (no-changeset !)
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
1727 ae258f702dfeca05bf9b6a22a97a4b5645570f11 644 d (changeset !)
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1728 $ hg debugindex d | head -n 4 | ../no-linkrev
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1729 rev linkrev nodeid p1 p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1730 0 * d8252ab2e760 000000000000 000000000000 (no-changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1731 0 * ae258f702dfe 000000000000 000000000000 (changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1732 1 * b004912a8510 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1733 2 * 7b79e2fe0c89 000000000000 000000000000 (no-changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1734 2 * 5cce88bf349f ae258f702dfe 000000000000 (changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1735
45653
a357688e3c9c tests: update/remove outdated comments in test-copies-chain-merge.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45461
diff changeset
1736 Log output should not include a merge commit as it did not happen
44454
b8882f5d7cb4 copies-tests: update the analysis of the BD/DB cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44453
diff changeset
1737
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1738 $ hg log -Gfr 'desc("mBDm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1739 o d-2 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1740 |
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
1741 ~
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1742
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1743 $ hg log -Gfr 'desc("mDBm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1744 o d-2 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1745 |
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1746 ~
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1747
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1748 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBDm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1749 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1750 A d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1751 R a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1752 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mDBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1753 M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1754 A d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1755 R a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1756
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1757
44455
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
1758 Comparing with a merge with colliding rename
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
1759 --------------------------------------------
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1760
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
1761 Subcase: new copy information on both side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
1762 ``````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
1763
44455
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
1764 - the "e-" branch renaming b to f (through 'g')
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
1765 - the "a-" branch renaming d to f (through e)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1766
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1767 $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1768 o mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1769 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1770 +---o mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1771 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1772 | o e-2 g -move-> f
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1773 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1774 | o e-1 b -move-> g
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1775 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1776 o | a-2: e -move-> f
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1777 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1778 o | a-1: d -move-> e
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1779 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1780 o i-2: c -move-> d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1781 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1782 o i-1: a -move-> c
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1783 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1784 o i-0 initial commit: a b h
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1785
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1786 #if no-changeset
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1787 $ hg manifest --debug --rev 'desc("mAEm-0")' | grep '644 f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
1788 2ff93c643948464ee1f871867910ae43a45b0bea 644 f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1789 $ hg manifest --debug --rev 'desc("mEAm-0")' | grep '644 f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
1790 2ff93c643948464ee1f871867910ae43a45b0bea 644 f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1791 $ hg manifest --debug --rev 'desc("a-2")' | grep '644 f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
1792 b76eb76580df486c3d51d63c5c210d4dd43a8ac7 644 f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1793 $ hg manifest --debug --rev 'desc("e-2")' | grep '644 f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
1794 e8825b386367b29fec957283a80bb47b47483fe1 644 f
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1795 $ hg debugindex f | ../no-linkrev
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1796 rev linkrev nodeid p1 p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1797 0 * b76eb76580df 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1798 1 * e8825b386367 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1799 2 * 2ff93c643948 b76eb76580df e8825b386367
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1800 3 * 2f649fba7eb2 b76eb76580df e8825b386367
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1801 4 * 774e7c1637d5 e8825b386367 b76eb76580df
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1802 #else
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1803 $ hg manifest --debug --rev 'desc("mAEm-0")' | grep '644 f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
1804 ae258f702dfeca05bf9b6a22a97a4b5645570f11 644 f
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1805 $ hg manifest --debug --rev 'desc("mEAm-0")' | grep '644 f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
1806 ae258f702dfeca05bf9b6a22a97a4b5645570f11 644 f
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1807 $ hg manifest --debug --rev 'desc("a-2")' | grep '644 f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
1808 ae258f702dfeca05bf9b6a22a97a4b5645570f11 644 f
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1809 $ hg manifest --debug --rev 'desc("e-2")' | grep '644 f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
1810 ae258f702dfeca05bf9b6a22a97a4b5645570f11 644 f
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1811 $ hg debugindex f | ../no-linkrev
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1812 rev linkrev nodeid p1 p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
1813 0 * ae258f702dfe 000000000000 000000000000
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1814 1 * d3613c1ec831 ae258f702dfe 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
1815 2 * 05e03c868bbc ae258f702dfe 000000000000
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1816 #endif
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1817
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1818 # Here the filelog based implementation is not looking at the rename
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1819 # information (because the file exist on both side). However the changelog
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1820 # based on works fine. We have different output.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1821
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1822 $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mAEm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1823 M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1824 b (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1825 R b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1826 $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mEAm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1827 M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1828 b (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1829 R b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1830 $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mAEm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1831 M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1832 d (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1833 R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1834 $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mEAm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1835 M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1836 d (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1837 R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1838 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("a-2")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1839 A f
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1840 d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1841 R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1842 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("e-2")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1843 A f
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1844 b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1845 R b
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1846
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1847 # From here, we run status against revision where both source file exists.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1848 #
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1849 # The filelog based implementation picks an arbitrary side based on revision
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1850 # numbers. So the same side "wins" whatever the parents order is. This is
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1851 # sub-optimal because depending on revision numbers means the result can be
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1852 # different from one repository to the next.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1853 #
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1854 # The changeset based algorithm use the parent order to break tie on conflicting
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1855 # information and will have a different order depending on who is p1 and p2.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1856 # That order is stable accross repositories. (data from p1 prevails)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1857
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1858 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mAEm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1859 A f
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1860 d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1861 R b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1862 R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1863 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mEAm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1864 A f
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1865 d (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1866 b (no-filelog !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1867 R b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1868 R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1869 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAEm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1870 A f
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1871 a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1872 R a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1873 R b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1874 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEAm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1875 A f
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1876 a (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
1877 b (no-filelog !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1878 R a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1879 R b
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1880
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1881
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
1882 Subcase: existing copy information overwritten on one branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
1883 ````````````````````````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
1884
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1885 Note:
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1886 | In this case, one of the merge wrongly record a merge while there is none.
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1887 | This lead to bad copy tracing information to be dug up.
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1888
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1889
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1890 Merge:
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1891 - one with change to an unrelated file (b)
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1892 - one overwriting a file (d) with a rename (from h to i to d)
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1893
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1894 $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1895 o mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1896 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1897 +---o mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1898 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1899 | o f-2: rename i -> d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1900 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1901 | o f-1: rename h -> i
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1902 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1903 o | b-1: b update
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1904 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1905 o i-2: c -move-> d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1906 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1907 o i-1: a -move-> c
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1908 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1909 o i-0 initial commit: a b h
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1910
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1911 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBFm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1912 M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1913 A d
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
1914 h
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1915 R a
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1916 R h
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1917 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFBm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1918 M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1919 A d
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1920 h
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1921 R a
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1922 R h
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1923 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBFm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1924 M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1925 h (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1926 R h
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1927 $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mBFm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1928 M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1929 $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mBFm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1930 M b
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1931 M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1932 i (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1933 R i
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1934 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mFBm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1935 M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1936 h (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1937 R h
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1938 $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mFBm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1939 M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1940 $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mFBm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1941 M b
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1942 M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
1943 i (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1944 R i
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1945
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1946 #if no-changeset
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1947 $ hg log -Gfr 'desc("mBFm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1948 o f-2: rename i -> d
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1949 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1950 o f-1: rename h -> i
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
1951 :
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1952 o i-0 initial commit: a b h
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1953
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1954 #else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
1955 BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1956 $ hg log -Gfr 'desc("mBFm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1957 o i-2: c -move-> d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1958 |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1959 ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1960 #endif
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1961
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1962 #if no-changeset
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1963 $ hg log -Gfr 'desc("mFBm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1964 o f-2: rename i -> d
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1965 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1966 o f-1: rename h -> i
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1967 :
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1968 o i-0 initial commit: a b h
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
1969
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1970 #else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
1971 BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1972 $ hg log -Gfr 'desc("mFBm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1973 o i-2: c -move-> d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1974 |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1975 ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
1976 #endif
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
1977
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
1978 Subcase: reset of the copy history on one side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
1979 ``````````````````````````````````````````````
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1980
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
1981 Merge:
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
1982 - one with change to a file
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
1983 - one deleting and recreating the file
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
1984
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1985 Unlike in the 'BD/DB' cases, an actual merge happened here. So we should
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
1986 consider history and rename on both branch of the merge.
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
1987
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1988 $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1989 o mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1990 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1991 +---o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1992 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1993 | o g-1: update d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1994 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1995 o | d-2 re-add d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1996 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1997 o | d-1 delete d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
1998 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
1999 o i-2: c -move-> d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2000 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2001 o i-1: a -move-> c
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2002 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2003 o i-0 initial commit: a b h
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2004
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
2005 One side of the merge have a long history with rename. The other side of the
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
2006 merge point to a new file with a smaller history. Each side is "valid".
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
2007
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
2008 (and again the filelog based algorithm only explore one, with a pick based on
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
2009 revision numbers)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
2010
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2011 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mDGm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2012 A d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
2013 a (filelog !)
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2014 R a
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2015 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGDm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2016 A d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2017 a
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2018 R a
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2019 $ hg status --copies --rev 'desc("d-2")' --rev 'desc("mDGm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2020 M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2021 $ hg status --copies --rev 'desc("d-2")' --rev 'desc("mGDm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2022 M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2023 $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mDGm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2024 M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2025 $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGDm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2026 M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2027
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2028 #if no-changeset
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2029 $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2030 o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2031 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2032 | o g-1: update d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2033 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2034 o | d-2 re-add d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2035 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2036 o i-2: c -move-> d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2037 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2038 o i-1: a -move-> c
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2039 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2040 o i-0 initial commit: a b h
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2041
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2042 #else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
2043 BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2044 $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2045 o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2046 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2047 | o g-1: update d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2048 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2049 o | d-2 re-add d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2050 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2051 o i-2: c -move-> d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2052 |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2053 ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2054 #endif
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2055
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2056
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2057 #if no-changeset
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2058 $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2059 o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2060 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2061 | o g-1: update d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2062 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2063 o | d-2 re-add d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2064 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2065 o i-2: c -move-> d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2066 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2067 o i-1: a -move-> c
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2068 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2069 o i-0 initial commit: a b h
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
2070
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2071 #else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
2072 BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2073 $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2074 o mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2075 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2076 | o g-1: update d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2077 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2078 o | d-2 re-add d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2079 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2080 o i-2: c -move-> d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2081 |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2082 ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2083 #endif
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2084
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
2085 Subcase: merging a change to a file with a "copy overwrite" to that file from another branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
2086 ````````````````````````````````````````````````````````````````````````````````````````````
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2087
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2088 Merge:
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2089 - one with change to a file (d)
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2090 - one overwriting that file with a rename (from h to i, to d)
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2091
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2092 This case is similar to BF/FB, but an actual merge happens, so both side of the
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2093 history are relevant.
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2094
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2095
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2096 $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2097 o mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2098 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2099 +---o mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2100 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2101 | o g-1: update d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2102 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2103 o | f-2: rename i -> d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2104 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2105 o | f-1: rename h -> i
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2106 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2107 o i-2: c -move-> d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2108 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2109 o i-1: a -move-> c
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2110 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2111 o i-0 initial commit: a b h
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
2112
46160
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2113
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2114 Note:
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2115 | In this case, the merge get conflicting information since on one side we have
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2116 | "a -> c -> d". and one the other one we have "h -> i -> d".
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2117 |
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2118 | The current code arbitrarily pick one side depending the ordering of the merged hash:
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2119
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2120 In this case, the file hash from "f-2" is lower, so it will be `p1` of the resulting filenode its copy tracing information will win (and trace back to "h"):
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2121
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2122 Details on this hash ordering pick:
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2123
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2124 $ hg manifest --debug 'desc("g-1")' | egrep 'd$'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
2125 17ec97e605773eb44a117d1136b3849bcdc1924f 644 d (no-changeset !)
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
2126 5cce88bf349f7c742bb440f2c53f81db9c294279 644 d (changeset !)
46160
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2127 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("g-1")' d
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2128 A d
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2129 a (no-changeset no-compatibility !)
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2130
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2131 $ hg manifest --debug 'desc("f-2")' | egrep 'd$'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
2132 7b79e2fe0c8924e0e598a82f048a7b024afa4d96 644 d (no-changeset !)
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
2133 ae258f702dfeca05bf9b6a22a97a4b5645570f11 644 d (changeset !)
46160
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2134 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("f-2")' d
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2135 A d
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2136 h (no-changeset no-compatibility !)
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2137
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2138 Copy tracing data on the resulting merge:
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
2139
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2140 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFGm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2141 A d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
2142 h (no-filelog !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
2143 a (filelog !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2144 R a
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2145 R h
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2146 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGFm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2147 A d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
2148 a (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
2149 h (changeset !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2150 R a
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2151 R h
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2152 $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mFGm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2153 M d
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2154 $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mGFm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2155 M d
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2156 $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mFGm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2157 M d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
2158 i (no-filelog !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2159 R i
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2160 $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mGFm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2161 M d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
2162 i (no-filelog !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2163 R i
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2164 $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mFGm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
2165 M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
2166 h (no-filelog no-changeset !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2167 R h
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2168 $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGFm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
2169 M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
2170 h (no-filelog no-changeset !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2171 R h
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2172
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2173 #if no-changeset
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2174 $ hg log -Gfr 'desc("mFGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2175 o mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2176 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2177 | o g-1: update d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2178 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2179 o | f-2: rename i -> d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2180 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2181 o | f-1: rename h -> i
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2182 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2183 o i-2: c -move-> d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2184 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2185 o i-1: a -move-> c
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2186 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2187 o i-0 initial commit: a b h
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2188
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2189 #else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
2190 BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2191 $ hg log -Gfr 'desc("mFGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2192 o g-1: update d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
2193 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2194 o i-2: c -move-> d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2195 |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2196 ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2197 #endif
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2198
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2199 #if no-changeset
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2200 $ hg log -Gfr 'desc("mGFm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2201 o mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2202 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2203 | o g-1: update d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2204 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2205 o | f-2: rename i -> d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2206 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2207 o | f-1: rename h -> i
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2208 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2209 o i-2: c -move-> d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2210 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2211 o i-1: a -move-> c
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2212 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2213 o i-0 initial commit: a b h
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
2214
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2215 #else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
2216 BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2217 $ hg log -Gfr 'desc("mGFm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2218 o g-1: update d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
2219 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2220 o i-2: c -move-> d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2221 |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2222 ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2223 #endif
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2224
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2225
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2226 Comparing with merging with a deletion (and keeping the file)
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2227 -------------------------------------------------------------
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2228
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2229 Merge:
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2230 - one removing a file (d)
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2231 - one updating that file
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2232 - the merge keep the modified version of the file (canceling the delete)
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2233
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2234 In this case, the file keep on living after the merge. So we should not drop its
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2235 copy tracing chain.
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2236
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2237 $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2238 o mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2239 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2240 +---o mCGm-0 merge updated/deleted - revive the file (updated content) - one way
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2241 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2242 | o g-1: update d
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2243 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2244 o | c-1 delete d
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2245 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2246 o i-2: c -move-> d
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2247 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2248 o i-1: a -move-> c
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2249 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2250 o i-0 initial commit: a b h
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2251
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2252
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
2253 'a' is the copy source of 'd'
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2254
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2255 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCGm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2256 A d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2257 a (no-compatibility no-changeset !)
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2258 R a
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2259 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGCm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2260 A d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2261 a (no-compatibility no-changeset !)
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2262 R a
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2263 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCGm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2264 A d
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2265 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mGCm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2266 A d
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2267 $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mCGm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
2268 $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGCm-0")'
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2269
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2270
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2271 Comparing with merge restoring an untouched deleted file
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2272 --------------------------------------------------------
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2273
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2274 Merge:
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2275 - one removing a file (d)
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2276 - one leaving the file untouched
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2277 - the merge actively restore the file to the same content.
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2278
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2279 In this case, the file keep on living after the merge. So we should not drop its
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2280 copy tracing chain.
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2281
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2282 $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2283 o mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2284 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2285 +---o mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2286 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2287 | o c-1 delete d
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2288 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2289 o | b-1: b update
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2290 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2291 o i-2: c -move-> d
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2292 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2293 o i-1: a -move-> c
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2294 |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2295 o i-0 initial commit: a b h
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2296
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2297
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
2298 'a' is the the copy source of 'd'
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2299
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2300 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2301 M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2302 A d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2303 a (no-compatibility no-changeset !)
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2304 R a
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2305 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2306 M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2307 A d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
2308 a (no-compatibility no-changeset !)
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2309 R a
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2310 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCB-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2311 M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2312 A d
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2313 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mBC-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2314 M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2315 A d
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2316 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mCB-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
2317 $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBC-revert-m-0")'
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2318
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2319
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2320 Merging a branch where a rename was deleted with a branch where the same file was renamed
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2321 ------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2322
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2323 Create a "conflicting" merge where `d` get removed on one branch before its
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2324 rename information actually conflict with the other branch.
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2325
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2326 (the copy information from the branch that was not deleted should win).
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2327
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2328 $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2329 o mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2330 |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2331 +---o mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2332 | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2333 | o h-1: b -(move)-> d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2334 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2335 o | c-1 delete d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2336 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2337 o | i-2: c -move-> d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2338 | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2339 o | i-1: a -move-> c
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2340 |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
2341 o i-0 initial commit: a b h
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2342
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2343
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2344 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCH-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2345 A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2346 b (no-compatibility no-changeset !)
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2347 R a
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2348 R b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2349 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mHC-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2350 A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2351 b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2352 R a
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2353 R b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2354 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCH-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2355 A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2356 b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2357 R b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2358 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mHC-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2359 A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2360 b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2361 R b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2362 $ hg status --copies --rev 'desc("h-1")' --rev 'desc("mCH-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2363 R a
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2364 $ hg status --copies --rev 'desc("h-1")' --rev 'desc("mHC-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
2365 R a
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2366
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2367 Variant of previous with extra changes introduced by the merge
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2368 --------------------------------------------------------------
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2369
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2370 (see case declaration for details)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2371
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2372 Subcase: merge has same initial content on both side, but merge introduced a change
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2373 ```````````````````````````````````````````````````````````````````````````````````
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2374
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2375 - the "e-" branch renaming b to f (through 'g')
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2376 - the "a-" branch renaming d to f (through e)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2377 - the merge add new change to b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2378
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2379 $ hg log -G --rev '::(desc("mAE-change-m")+desc("mEA-change-m"))'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2380 o mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2381 |\
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2382 +---o mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2383 | |/
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2384 | o e-2 g -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2385 | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2386 | o e-1 b -move-> g
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2387 | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2388 o | a-2: e -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2389 | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2390 o | a-1: d -move-> e
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2391 |/
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2392 o i-2: c -move-> d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2393 |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2394 o i-1: a -move-> c
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2395 |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2396 o i-0 initial commit: a b h
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2397
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2398 #if no-changeset
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2399 $ hg manifest --debug --rev 'desc("mAE-change-m-0")' | grep '644 f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2400 2f649fba7eb284e720d02b61f0546fcef694c045 644 f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2401 $ hg manifest --debug --rev 'desc("mEA-change-m-0")' | grep '644 f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2402 774e7c1637d536b99e2d8ef16fd731f87a82bd09 644 f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2403 $ hg manifest --debug --rev 'desc("a-2")' | grep '644 f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2404 b76eb76580df486c3d51d63c5c210d4dd43a8ac7 644 f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2405 $ hg manifest --debug --rev 'desc("e-2")' | grep '644 f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2406 e8825b386367b29fec957283a80bb47b47483fe1 644 f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2407 $ hg debugindex f | ../no-linkrev
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2408 rev linkrev nodeid p1 p2
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2409 0 * b76eb76580df 000000000000 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2410 1 * e8825b386367 000000000000 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2411 2 * 2ff93c643948 b76eb76580df e8825b386367
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2412 3 * 2f649fba7eb2 b76eb76580df e8825b386367
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2413 4 * 774e7c1637d5 e8825b386367 b76eb76580df
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2414 #else
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2415 $ hg manifest --debug --rev 'desc("mAE-change-m-0")' | grep '644 f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2416 d3613c1ec8310a812ac4268fd853ac576b6caea5 644 f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2417 $ hg manifest --debug --rev 'desc("mEA-change-m-0")' | grep '644 f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2418 05e03c868bbcab4a649cb33a238d7aa07398a469 644 f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2419 $ hg manifest --debug --rev 'desc("a-2")' | grep '644 f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2420 ae258f702dfeca05bf9b6a22a97a4b5645570f11 644 f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2421 $ hg manifest --debug --rev 'desc("e-2")' | grep '644 f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2422 ae258f702dfeca05bf9b6a22a97a4b5645570f11 644 f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2423 $ hg debugindex f | ../no-linkrev
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2424 rev linkrev nodeid p1 p2
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2425 0 * ae258f702dfe 000000000000 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2426 1 * d3613c1ec831 ae258f702dfe 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2427 2 * 05e03c868bbc ae258f702dfe 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2428 #endif
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2429
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2430 # Here the filelog based implementation is not looking at the rename
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2431 # information (because the file exist on both side). However the changelog
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2432 # based on works fine. We have different output.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2433
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2434 $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2435 M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2436 b (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2437 R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2438 $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2439 M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2440 b (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2441 R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2442 $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2443 M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2444 d (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2445 R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2446 $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2447 M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2448 d (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2449 R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2450 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("a-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2451 A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2452 d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2453 R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2454 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("e-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2455 A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2456 b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2457 R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2458
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2459 # From here, we run status against revision where both source file exists.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2460 #
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2461 # The filelog based implementation picks an arbitrary side based on revision
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2462 # numbers. So the same side "wins" whatever the parents order is. This is
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2463 # sub-optimal because depending on revision numbers means the result can be
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2464 # different from one repository to the next.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2465 #
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2466 # The changeset based algorithm use the parent order to break tie on conflicting
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2467 # information and will have a different order depending on who is p1 and p2.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2468 # That order is stable accross repositories. (data from p1 prevails)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2469
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2470 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2471 A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2472 d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2473 R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2474 R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2475 $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2476 A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2477 d (filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2478 b (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2479 R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2480 R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2481 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2482 A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2483 a
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2484 R a
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2485 R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2486 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2487 A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2488 a (filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2489 b (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2490 R a
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2491 R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2492
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
2493
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2494 Decision from previous merge are properly chained with later merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2495 ------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2496
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2497
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2498 Subcase: chaining conflicting rename resolution
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2499 ```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2500
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2501 The "mAEm" and "mEAm" case create a rename tracking conflict on file 'f'. We
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2502 add more change on the respective branch and merge again. These second merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2503 does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2504 about that file should stay unchanged.
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2505
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2506 The result from mAEm is the same for the subsequent merge:
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2507
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2508 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAEm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2509 A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2510 a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2511 a (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2512 a (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2513
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2514 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE,Km")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2515 A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2516 a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2517 a (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2518 a (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2519
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2520 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mK,AEm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2521 A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2522 a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2523 a (missing-correct-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2524 a (missing-correct-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2525 b (known-bad-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2526 b (known-bad-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2527
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2528
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2529 The result from mEAm is the same for the subsequent merge:
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2530
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2531 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEAm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2532 A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2533 a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2534 b (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2535 b (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2536
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2537 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA,Jm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2538 A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2539 a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2540 b (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2541 b (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2542
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2543 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mJ,EAm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2544 A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2545 a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2546 b (missing-correct-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2547 b (missing-correct-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2548 a (known-bad-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2549 a (known-bad-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2550
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
2551
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2552 Subcase: chaining salvage information during a merge
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2553 ````````````````````````````````````````````````````
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2554
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2555 We add more change on the branch were the file was deleted. merging again
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2556 should preserve the fact eh file was salvaged.
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2557
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2558 reference output:
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2559
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2560 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB-revert-m-0")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2561 M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2562 A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2563 a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2564 a (sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2565 a (upgraded !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2566 R a
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2567 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC-revert-m-0")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2568 M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2569 A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2570 a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2571 a (sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2572 a (upgraded !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2573 R a
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2574
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2575 chained output
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2576
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2577 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC+revert,Lm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2578 M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2579 A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2580 a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2581 a (missing-correct-output sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2582 a (missing-correct-output upgraded !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2583 A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2584 R a
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2585 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB+revert,Lm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2586 M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2587 A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2588 a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2589 a (missing-correct-output sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2590 a (missing-correct-output upgraded !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2591 A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2592 R a
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2593 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mL,BC+revertm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2594 M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2595 A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2596 a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2597 a (missing-correct-output sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2598 a (missing-correct-output upgraded !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2599 A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2600 R a
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2601 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mL,CB+revertm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2602 M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2603 A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2604 a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2605 a (missing-correct-output sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2606 a (missing-correct-output upgraded !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2607 A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2608 R a
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
2609
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2610 Subcase: chaining "merged" information during a merge
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2611 ``````````````````````````````````````````````````````
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2612
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2613 When a non-rename change are merged with a copy overwrite, the merge pick the copy source from (p1) as the reference. We should preserve this information in subsequent merges.
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2614
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2615
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2616 reference output:
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2617
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2618 (for details about the filelog pick, check the mFGm/mGFm case)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2619
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2620 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFGm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2621 A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2622 a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2623 h (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2624 h (upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2625 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGFm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2626 A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2627 a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2628 a (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2629 a (upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2630
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2631 Chained output
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2632
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2633 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mO,FGm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2634 A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2635 a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2636 h (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2637 h (upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2638 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFG,Om")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2639 A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2640 a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2641 h (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2642 h (upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2643
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2644
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2645 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGF,Nm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2646 A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2647 a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2648 a (missing-correct-output sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2649 a (missing-correct-output upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2650 h (known-bad-output sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2651 h (known-bad-output upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2652 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mN,GFm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2653 A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2654 a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2655 a (missing-correct-output sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2656 a (missing-correct-output upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2657 h (known-bad-output sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
2658 h (known-bad-output upgraded !)
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2659
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2660
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2661 Subcase: chaining conflicting rename resolution, with extra change during the merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2662 ```````````````````````````````````````````````````````````````````````````````````
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2663
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2664 The "mAEm" and "mEAm" case create a rename tracking conflict on file 'f'. We
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2665 add more change on the respective branch and merge again. These second merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2666 does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2667 about that file should stay unchanged.
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2668
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2669 The result from mAEm is the same for the subsequent merge:
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2670
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2671 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2672 A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2673 a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2674 a (sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2675 a (upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2676
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2677 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE-change,Km")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2678 A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2679 a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2680 a (sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2681 a (upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2682
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2683 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mK,AE-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2684 A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2685 a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2686 a (missing-correct-output sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2687 a (missing-correct-output upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2688 b (known-bad-output sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2689 b (known-bad-output upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2690
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2691
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2692 The result from mEAm is the same for the subsequent merge:
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2693
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2694 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2695 A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2696 a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2697 b (sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2698 b (upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2699
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2700 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA-change,Jm")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2701 A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2702 a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2703 b (sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2704 b (upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2705
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2706 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mJ,EA-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2707 A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2708 a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2709 b (missing-correct-output sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2710 b (missing-correct-output upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2711 a (known-bad-output sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
2712 a (known-bad-output upgraded !)