Mercurial > hg
annotate tests/test-rename-merge1.t @ 17616:9535a0dc41f2
store: implement fncache basic path encoding in C
(This is not yet enabled; it will be turned on in a followup patch.)
The path encoding performed by fncache is complex and (perhaps
surprisingly) slow enough to negatively affect the overall performance
of Mercurial.
For a short path (< 120 bytes), the Python code can be reduced to a fairly
tractable state machine that either determines that nothing needs to be
done in a single pass, or performs the encoding in a second pass.
For longer paths, we avoid the more complicated hashed encoding scheme
for now, and fall back to Python.
Raw performance: I measured in a repo containing 150,000 files in its tip
manifest, with a median path name length of 57 bytes, and 95th percentile
of 96 bytes.
In this repo, the Python code takes 3.1 seconds to encode all path
names, while the hybrid C-and-Python code (called from Python) takes
0.21 seconds, for a speedup of about 14.
Across several other large repositories, I've measured the speedup from
the C code at between 26x and 40x.
For path names above 120 bytes where we must fall back to Python for
hashed encoding, the speedup is about 1.7x. Thus absolute performance
will depend strongly on the characteristics of a particular repository.
author | Bryan O'Sullivan <bryano@fb.com> |
---|---|
date | Tue, 18 Sep 2012 15:42:19 -0700 |
parents | b87acfda5268 |
children | a6fe1b9cc68f |
rev | line source |
---|---|
12298
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
1 $ hg init |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
3 $ echo "[merge]" >> .hg/hgrc |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
4 $ echo "followcopies = 1" >> .hg/hgrc |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
5 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
6 $ echo foo > a |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
7 $ echo foo > a2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
8 $ hg add a a2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
9 $ hg ci -m "start" |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
10 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
11 $ hg mv a b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
12 $ hg mv a2 b2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
13 $ hg ci -m "rename" |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
14 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
15 $ hg co 0 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
16 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
|
17 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
18 $ echo blahblah > a |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
19 $ echo blahblah > a2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
20 $ hg mv a2 c2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
21 $ hg ci -m "modify" |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
22 created new head |
3153
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
23 |
12298
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
24 $ hg merge -y --debug |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
25 searching for copies back to rev 1 |
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): |
12298
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
32 c2 -> a2 ! |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
33 b -> a * |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
34 b2 -> a2 ! |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
35 checking for directory renames |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
36 a2: divergent renames -> dr |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
37 resolving manifests |
15625
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
14182
diff
changeset
|
38 overwrite: False, partial: False |
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
14182
diff
changeset
|
39 ancestor: af1939970a1c, local: 044f8520aeeb+, remote: 85c198ef2f6c |
12298
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
40 a: remote moved to b -> m |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
41 b2: remote created -> g |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
42 preserving a for resolve of b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
43 removing a |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
44 updating: a 1/3 files (33.33%) |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
45 picked tool 'internal:merge' for b (binary False symlink False) |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
46 merging a and b to b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
47 my b@044f8520aeeb+ other b@85c198ef2f6c ancestor a@af1939970a1c |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
48 premerge successful |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
49 updating: a2 2/3 files (66.67%) |
12757
62c8f7691bc3
merge: make 'diverging renames' diagnostic a more helpful note.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12683
diff
changeset
|
50 note: possible conflict - a2 was renamed multiple times to: |
12298
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
51 c2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
52 b2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
53 updating: b2 3/3 files (100.00%) |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
54 getting b2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
55 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
|
56 (branch merge, don't forget to commit) |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
57 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
58 $ hg status -AC |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
59 M b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
60 a |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
61 M b2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
62 R a |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
63 C c2 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
64 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
65 $ cat b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
66 blahblah |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
67 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
68 $ hg ci -m "merge" |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
69 |
14182
ec5886db9dc6
tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents:
13537
diff
changeset
|
70 $ hg debugindex b |
17132
b87acfda5268
tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents:
16795
diff
changeset
|
71 rev offset length ..... linkrev nodeid p1 p2 (re) |
b87acfda5268
tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents:
16795
diff
changeset
|
72 0 0 67 ..... 1 57eacc201a7f 000000000000 000000000000 (re) |
b87acfda5268
tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents:
16795
diff
changeset
|
73 1 67 72 ..... 3 4727ba907962 000000000000 57eacc201a7f (re) |
12298
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
74 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
75 $ hg debugrename b |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
76 b renamed from a:dd03b83622e78778b403775d0d074b9ac7387a66 |
f254204d8b8d
tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents:
8167
diff
changeset
|
77 |
12683
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
78 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
|
79 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
80 $ hg cp b b3 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
81 $ hg cp b b4 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
82 $ hg ci -A -m 'copy b twice' |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
83 $ hg up eb92d88a9712 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
84 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
|
85 $ hg up |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
86 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
|
87 $ hg rm b3 b4 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
88 $ 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
|
89 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
90 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
|
91 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
92 $ hg cp b b3 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
93 $ hg mv b b4 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
94 $ hg ci -A -m 'divergent renames in same changeset' |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
95 $ hg up c761c6948de0 |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
96 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
|
97 $ hg up |
ada47c38f4e5
copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
12298
diff
changeset
|
98 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
|
99 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
100 Check for issue2642 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
101 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
102 $ hg init t |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
103 $ cd t |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
104 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
105 $ echo c0 > f1 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
106 $ hg ci -Aqm0 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
107 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
108 $ hg up null -q |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
109 $ echo c1 > f1 # backport |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
110 $ hg ci -Aqm1 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
111 $ hg mv f1 f2 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
112 $ hg ci -qm2 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
113 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
114 $ hg up 0 -q |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
115 $ 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
|
116 $ hg ci -qm3 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
117 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
118 $ hg merge 2 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
119 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
|
120 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
|
121 (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
|
122 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
123 $ cat f2 |
d100702326d5
context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents:
12757
diff
changeset
|
124 c0 |
13492
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
125 |
16793
9cbc44a6600e
tests: do not create repos inside repos in test-rename-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16792
diff
changeset
|
126 $ cd .. |
9cbc44a6600e
tests: do not create repos inside repos in test-rename-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16792
diff
changeset
|
127 |
13492
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
128 Check for issue2089 |
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
129 |
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
130 $ hg init repo2089 |
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
131 $ cd repo2089 |
ca940d06bf95
tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13468
diff
changeset
|
132 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
133 $ echo c0 > f1 |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
134 $ 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
|
135 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
136 $ hg up null -q |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
137 $ echo c1 > f1 |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
138 $ 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
|
139 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
140 $ 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
|
141 $ 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
|
142 $ echo c2 > f1 |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
143 $ 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
|
144 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
145 $ hg up 1 -q |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
146 $ hg mv f1 f2 |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
147 $ 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
|
148 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
149 $ 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
|
150 $ hg merge 3 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
151 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
|
152 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
|
153 (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
|
154 |
13537
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
155 $ cat f2 |
37f487b9fbcc
test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents:
13492
diff
changeset
|
156 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
|
157 |
9cbc44a6600e
tests: do not create repos inside repos in test-rename-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents:
16792
diff
changeset
|
158 $ 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
|
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 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
|
161 |
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 $ 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
|
163 $ 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
|
164 $ 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
|
165 $ 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
|
166 $ 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
|
167 $ 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
|
168 $ 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
|
169 $ 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
|
170 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
|
171 $ 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
|
172 $ 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
|
173 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
|
174 $ 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
|
175 searching for copies back to rev 1 |
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
|
176 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
|
177 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
|
178 all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
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 newfile -> file % |
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
|
180 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
|
181 file: rename and delete -> rd |
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
|
182 resolving manifests |
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
|
183 overwrite: False, partial: False |
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
|
184 ancestor: 19d7f95df299, local: 0084274f6b67+, remote: 5d32493049f0 |
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
|
185 newfile: remote created -> g |
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
|
186 updating: file 1/2 files (50.00%) |
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
|
187 note: possible conflict - file was deleted and renamed to: |
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 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
|
189 updating: newfile 2/2 files (100.00%) |
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
|
190 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
|
191 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
|
192 (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
|
193 $ 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
|
194 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
|
195 $ cd .. |