Mercurial > hg
annotate tests/test-rename-merge1.t @ 50400:95acba2c29f6
encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings
Apparently the code uses "+=" with a bytes object, which is linear-time, so the
whole encoding is quadratic-time. This patch makes us use a bytearray object,
instead, which has a(n amortized-)constant-time append operation.
The encoding is still not particularly fast, but at least a 10MB file
takes tens of seconds, not many hours to encode.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Mon, 06 Mar 2023 11:27:57 +0000 |
parents | 55c6ebd11cb9 |
children |
rev | line source |
---|---|
49621
55c6ebd11cb9
tests: run many tests in $TESTTMP/repo instead of $TESTTMP
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49252
diff
changeset
|
1 $ hg init repo |
55c6ebd11cb9
tests: run many tests in $TESTTMP/repo instead of $TESTTMP
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49252
diff
changeset
|
2 $ cd repo |
12298
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
3 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
4 $ echo "[merge]" >> .hg/hgrc |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
5 $ echo "followcopies = 1" >> .hg/hgrc |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
6 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
7 $ echo foo > a |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
8 $ echo foo > a2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
9 $ hg add a a2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
10 $ hg ci -m "start" |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
11 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
12 $ hg mv a b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
13 $ hg mv a2 b2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
14 $ hg ci -m "rename" |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
15 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
16 $ hg co 0 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
17 2 files updated, 0 files merged, 2 files removed, 0 files unresolved |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
18 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
19 $ echo blahblah > a |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
20 $ echo blahblah > a2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
21 $ hg mv a2 c2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
22 $ hg ci -m "modify" |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
23 created new head |
3153
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
24 |
12298
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
25 $ hg merge -y --debug |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
26 unmatched files in local: |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
27 c2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
28 unmatched files in other: |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
29 b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
30 b2 |
16795
e9ae770eff1c
merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16794
diff
changeset
|
31 all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
44197
17e12938f8e7
copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents:
44190
diff
changeset
|
32 on local side: |
17e12938f8e7
copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents:
44190
diff
changeset
|
33 src: 'a2' -> dst: 'c2' ! |
17e12938f8e7
copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents:
44190
diff
changeset
|
34 on remote side: |
17e12938f8e7
copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents:
44190
diff
changeset
|
35 src: 'a' -> dst: 'b' * |
17e12938f8e7
copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents:
44190
diff
changeset
|
36 src: 'a2' -> dst: 'b2' ! |
12298
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
37 checking for directory renames |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
38 resolving manifests |
18605
bcf29565d89f
manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents:
18541
diff
changeset
|
39 branchmerge: True, force: False, partial: False |
15625
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
14182
diff
changeset
|
40 ancestor: af1939970a1c, local: 044f8520aeeb+, remote: 85c198ef2f6c |
26957
d16d73173fdd
merge: move messages about possible conflicts a litte earlier
Martin von Zweigbergk <martinvonz@google.com>
parents:
26618
diff
changeset
|
41 note: possible conflict - a2 was renamed multiple times to: |
42110
3a7efcbdf288
copies: print list of divergent renames in sorted order
Martin von Zweigbergk <martinvonz@google.com>
parents:
37283
diff
changeset
|
42 b2 |
26957
d16d73173fdd
merge: move messages about possible conflicts a litte earlier
Martin von Zweigbergk <martinvonz@google.com>
parents:
26618
diff
changeset
|
43 c2 |
45488
c4f14db3da1d
merge: move initial handling of mergeactions near to later one
Pulkit Goyal <7895pulkit@gmail.com>
parents:
44237
diff
changeset
|
44 b2: remote created -> g |
c4f14db3da1d
merge: move initial handling of mergeactions near to later one
Pulkit Goyal <7895pulkit@gmail.com>
parents:
44237
diff
changeset
|
45 getting b2 |
21391
cb15835456cb
merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents:
21389
diff
changeset
|
46 preserving a for resolve of b |
cb15835456cb
merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents:
21389
diff
changeset
|
47 removing a |
48427
38941a28406a
mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents:
46072
diff
changeset
|
48 b: remote moved from a -> m |
27161
296d55def9c4
filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents:
26957
diff
changeset
|
49 picked tool ':merge' for b (binary False symlink False changedelete False) |
12298
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
50 merging a and b to b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
51 my b@044f8520aeeb+ other b@85c198ef2f6c ancestor a@af1939970a1c |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
52 premerge successful |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
53 1 files updated, 1 files merged, 0 files removed, 0 files unresolved |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
54 (branch merge, don't forget to commit) |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
55 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
56 $ hg status -AC |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
57 M b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
58 a |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
59 M b2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
60 R a |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
61 C c2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
62 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
63 $ cat b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
64 blahblah |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
65 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
66 $ hg ci -m "merge" |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
67 |
14182
ec5886db9dc6
tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents:
13537
diff
changeset
|
68 $ hg debugindex b |
49252
4141951dacff
debugindex: rename the parent column to mention nodeid
Pierre-Yves DAVID <pierre-yves.david@octobus.net>
parents:
49251
diff
changeset
|
69 rev linkrev nodeid p1-nodeid p2-nodeid |
37283
d4e62df1c73d
debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37282
diff
changeset
|
70 0 1 57eacc201a7f 000000000000 000000000000 |
d4e62df1c73d
debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37282
diff
changeset
|
71 1 3 4727ba907962 000000000000 57eacc201a7f |
12298
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
72 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
73 $ hg debugrename b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
74 b renamed from a:dd03b83622e78778b403775d0d074b9ac7387a66 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
75 |
12683
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
76 This used to trigger a "divergent renames" warning, despite no renames |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
77 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
78 $ hg cp b b3 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
79 $ hg cp b b4 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
80 $ hg ci -A -m 'copy b twice' |
42182
fad480dad04d
tests: avoid cryptic nodeids in tests/test-rename-merge1.t
Martin von Zweigbergk <martinvonz@google.com>
parents:
42167
diff
changeset
|
81 $ hg up '.^' |
12683
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
82 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
83 $ hg up |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
84 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
85 $ hg rm b3 b4 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
86 $ hg ci -m 'clean up a bit of our mess' |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
87 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
88 We'd rather not warn on divergent renames done in the same changeset (issue2113) |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
89 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
90 $ hg cp b b3 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
91 $ hg mv b b4 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
92 $ hg ci -A -m 'divergent renames in same changeset' |
42182
fad480dad04d
tests: avoid cryptic nodeids in tests/test-rename-merge1.t
Martin von Zweigbergk <martinvonz@google.com>
parents:
42167
diff
changeset
|
93 $ hg up '.^' |
12683
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
94 1 files updated, 0 files merged, 2 files removed, 0 files unresolved |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
95 $ hg up |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
96 2 files updated, 0 files merged, 1 files removed, 0 files unresolved |
13468
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
97 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
98 Check for issue2642 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
99 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
100 $ hg init t |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
101 $ cd t |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
102 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
103 $ echo c0 > f1 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
104 $ hg ci -Aqm0 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
105 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
106 $ hg up null -q |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
107 $ echo c1 > f1 # backport |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
108 $ hg ci -Aqm1 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
109 $ hg mv f1 f2 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
110 $ hg ci -qm2 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
111 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
112 $ hg up 0 -q |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
113 $ hg merge 1 -q --tool internal:local |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
114 $ hg ci -qm3 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
115 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
116 $ hg merge 2 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
117 merging f1 and f2 to f2 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
118 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
119 (branch merge, don't forget to commit) |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
120 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
121 $ cat f2 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
122 c0 |
13492
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
123 |
16793
9cbc44a6600e
tests: do not create repos inside repos in test-rename-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16792
diff
changeset
|
124 $ cd .. |
9cbc44a6600e
tests: do not create repos inside repos in test-rename-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16792
diff
changeset
|
125 |
13492
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
126 Check for issue2089 |
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
127 |
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
128 $ hg init repo2089 |
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
129 $ cd repo2089 |
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
130 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
131 $ echo c0 > f1 |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
132 $ hg ci -Aqm0 |
13492
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
133 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
134 $ hg up null -q |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
135 $ echo c1 > f1 |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
136 $ hg ci -Aqm1 |
13492
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
137 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
138 $ hg up 0 -q |
13492
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
139 $ hg merge 1 -q --tool internal:local |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
140 $ echo c2 > f1 |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
141 $ hg ci -qm2 |
13492
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
142 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
143 $ hg up 1 -q |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
144 $ hg mv f1 f2 |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
145 $ hg ci -Aqm3 |
13492
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
146 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
147 $ hg up 2 -q |
13492
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
148 $ hg merge 3 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
149 merging f1 and f2 to f2 |
13492
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
150 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
151 (branch merge, don't forget to commit) |
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
152 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
153 $ cat f2 |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
154 c2 |
16793
9cbc44a6600e
tests: do not create repos inside repos in test-rename-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16792
diff
changeset
|
155 |
9cbc44a6600e
tests: do not create repos inside repos in test-rename-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16792
diff
changeset
|
156 $ cd .. |
16794
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
157 |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
158 Check for issue3074 |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
159 |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
160 $ hg init repo3074 |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
161 $ cd repo3074 |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
162 $ echo foo > file |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
163 $ hg add file |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
164 $ hg commit -m "added file" |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
165 $ hg mv file newfile |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
166 $ hg commit -m "renamed file" |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
167 $ hg update 0 |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
168 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
169 $ hg rm file |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
170 $ hg commit -m "deleted file" |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
171 created new head |
16795
e9ae770eff1c
merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16794
diff
changeset
|
172 $ hg merge --debug |
e9ae770eff1c
merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16794
diff
changeset
|
173 unmatched files in other: |
e9ae770eff1c
merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16794
diff
changeset
|
174 newfile |
e9ae770eff1c
merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16794
diff
changeset
|
175 all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
44197
17e12938f8e7
copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents:
44190
diff
changeset
|
176 on remote side: |
17e12938f8e7
copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents:
44190
diff
changeset
|
177 src: 'file' -> dst: 'newfile' % |
16795
e9ae770eff1c
merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16794
diff
changeset
|
178 checking for directory renames |
e9ae770eff1c
merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16794
diff
changeset
|
179 resolving manifests |
18605
bcf29565d89f
manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents:
18541
diff
changeset
|
180 branchmerge: True, force: False, partial: False |
16795
e9ae770eff1c
merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16794
diff
changeset
|
181 ancestor: 19d7f95df299, local: 0084274f6b67+, remote: 5d32493049f0 |
26957
d16d73173fdd
merge: move messages about possible conflicts a litte earlier
Martin von Zweigbergk <martinvonz@google.com>
parents:
26618
diff
changeset
|
182 note: possible conflict - file was deleted and renamed to: |
d16d73173fdd
merge: move messages about possible conflicts a litte earlier
Martin von Zweigbergk <martinvonz@google.com>
parents:
26618
diff
changeset
|
183 newfile |
21389
e741972017d9
merge: change priority / ordering of merge actions
Mads Kiilerich <madski@unity3d.com>
parents:
20945
diff
changeset
|
184 newfile: remote created -> g |
18631
e2dc5397bc82
tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com>
parents:
18605
diff
changeset
|
185 getting newfile |
16794
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
186 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
187 (branch merge, don't forget to commit) |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
188 $ hg status |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
189 M newfile |
98687cdddcb1
merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16793
diff
changeset
|
190 $ cd .. |
44161
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
191 |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
192 Create x and y, then modify y and rename x to z on one side of merge, and |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
193 modify x and rename y to z on the other side. |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
194 $ hg init conflicting-target |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
195 $ cd conflicting-target |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
196 $ echo x > x |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
197 $ echo y > y |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
198 $ hg ci -Aqm 'add x and y' |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
199 $ hg mv x z |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
200 $ echo foo >> y |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
201 $ hg ci -qm 'modify y, rename x to z' |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
202 $ hg co -q 0 |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
203 $ hg mv y z |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
204 $ echo foo >> x |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
205 $ hg ci -qm 'modify x, rename y to z' |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
206 # We should probably tell the user about the conflicting rename sources. |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
207 # Depending on which side they pick, we should take that rename and get |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
208 # the changes to the source from the other side. The unchanged file should |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
209 # remain. |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
210 $ hg merge --debug 1 -t :merge3 |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
211 all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
44197
17e12938f8e7
copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents:
44190
diff
changeset
|
212 on local side: |
44237
b4057d001760
merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents:
44197
diff
changeset
|
213 src: 'y' -> dst: 'z' * |
44197
17e12938f8e7
copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents:
44190
diff
changeset
|
214 on remote side: |
44237
b4057d001760
merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents:
44197
diff
changeset
|
215 src: 'x' -> dst: 'z' * |
44161
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
216 checking for directory renames |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
217 resolving manifests |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
218 branchmerge: True, force: False, partial: False |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
219 ancestor: 5151c134577e, local: 07fcbc9a74ed+, remote: f21419739508 |
46072
69429972ff1f
tests: correct the output order about starting a background thread for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
45488
diff
changeset
|
220 starting 4 threads for background file closing (?) |
44161
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
221 preserving z for resolve of z |
48427
38941a28406a
mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents:
46072
diff
changeset
|
222 z: both renamed from y -> m |
44161
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
223 picked tool ':merge3' for z (binary False symlink False changedelete False) |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
224 merging z |
44237
b4057d001760
merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents:
44197
diff
changeset
|
225 my z@07fcbc9a74ed+ other z@f21419739508 ancestor y@5151c134577e |
b4057d001760
merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents:
44197
diff
changeset
|
226 premerge successful |
b4057d001760
merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents:
44197
diff
changeset
|
227 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
b4057d001760
merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents:
44197
diff
changeset
|
228 (branch merge, don't forget to commit) |
44161
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
229 $ ls |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
230 x |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
231 z |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
232 $ cat x |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
233 x |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
234 foo |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
235 # 'z' should have had the added 'foo' line |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
236 $ cat z |
d7622fdec3b5
tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
237 x |