##// END OF EJS Templates
manifestmerge: pass in branchmerge and force separately...
Siddharth Agarwal -
r18605:bcf29565 default
parent child Browse files
Show More
@@ -360,8 +360,10 b' def overridecheckunknownfile(origfn, rep'
360 360 # Finally, the merge.applyupdates function will then take care of
361 361 # writing the files into the working copy and lfcommands.updatelfiles
362 362 # will update the largefiles.
363 def overridemanifestmerge(origfn, repo, p1, p2, pa, overwrite, partial):
364 actions = origfn(repo, p1, p2, pa, overwrite, partial)
363 def overridemanifestmerge(origfn, repo, p1, p2, pa, branchmerge, force,
364 partial):
365 overwrite = force and not branchmerge
366 actions = origfn(repo, p1, p2, pa, branchmerge, force, partial)
365 367 processed = []
366 368
367 369 for action in actions:
@@ -185,14 +185,15 b' def _forgetremoved(wctx, mctx, branchmer'
185 185
186 186 return actions
187 187
188 def manifestmerge(repo, p1, p2, pa, overwrite, partial):
188 def manifestmerge(repo, p1, p2, pa, branchmerge, force, partial):
189 189 """
190 190 Merge p1 and p2 with ancestor pa and generate merge action list
191 191
192 overwrite = whether we clobber working files
192 branchmerge and force are as passed in to update
193 193 partial = function to filter file lists
194 194 """
195 195
196 overwrite = force and not branchmerge
196 197 actions, copy, movewithdir = [], {}, {}
197 198
198 199 if overwrite:
@@ -208,8 +209,8 b' def manifestmerge(repo, p1, p2, pa, over'
208 209 actions.append((of, "rd", (fl,), "rename and delete"))
209 210
210 211 repo.ui.note(_("resolving manifests\n"))
211 repo.ui.debug(" overwrite: %s, partial: %s\n"
212 % (bool(overwrite), bool(partial)))
212 repo.ui.debug(" branchmerge: %s, force: %s, partial: %s\n"
213 % (bool(branchmerge), bool(force), bool(partial)))
213 214 repo.ui.debug(" ancestor: %s, local: %s, remote: %s\n" % (pa, p1, p2))
214 215
215 216 m1, m2, ma = p1.manifest(), p2.manifest(), pa.manifest()
@@ -452,7 +453,7 b' def calculateupdates(repo, tctx, mctx, a'
452 453 actions += _forgetremoved(tctx, mctx, branchmerge)
453 454 actions += manifestmerge(repo, tctx, mctx,
454 455 ancestor,
455 force and not branchmerge,
456 branchmerge, force,
456 457 partial)
457 458 return actions
458 459
@@ -29,7 +29,7 b''
29 29 src: 'a' -> dst: 'c' *
30 30 checking for directory renames
31 31 resolving manifests
32 overwrite: False, partial: False
32 branchmerge: True, force: False, partial: False
33 33 ancestor: b8bf91eeebbc, local: add3f11052fa+, remote: 17c05bb7fcb6
34 34 a: remote moved to b -> m
35 35 preserving a for resolve of b
@@ -33,7 +33,7 b" we get conflicts that shouldn't be there"
33 33 src: 'foo' -> dst: 'bar' *
34 34 checking for directory renames
35 35 resolving manifests
36 overwrite: False, partial: False
36 branchmerge: True, force: False, partial: False
37 37 ancestor: e6dc8efe11cc, local: 6a0df1dad128+, remote: 484bf6903104
38 38 foo: remote copied to bar -> m
39 39 preserving foo for resolve of bar
@@ -134,7 +134,7 b' Graft out of order, skipping a merge and'
134 134 src: 'a' -> dst: 'b' *
135 135 checking for directory renames
136 136 resolving manifests
137 overwrite: False, partial: False
137 branchmerge: True, force: True, partial: False
138 138 ancestor: 68795b066622, local: ef0ef43d49e7+, remote: 5d205f8b35b6
139 139 b: local copied/moved to a -> m
140 140 preserving b for resolve of b
@@ -147,7 +147,7 b' Graft out of order, skipping a merge and'
147 147 grafting revision 5
148 148 searching for copies back to rev 1
149 149 resolving manifests
150 overwrite: False, partial: False
150 branchmerge: True, force: True, partial: False
151 151 ancestor: 4c60f11aa304, local: 6b9e5368ca4e+, remote: 97f8bfe72746
152 152 e: remote is newer -> g
153 153 updating: e 1/1 files (100.00%)
@@ -156,7 +156,7 b' Graft out of order, skipping a merge and'
156 156 grafting revision 4
157 157 searching for copies back to rev 1
158 158 resolving manifests
159 overwrite: False, partial: False
159 branchmerge: True, force: True, partial: False
160 160 ancestor: 4c60f11aa304, local: 1905859650ec+, remote: 9c233e8e184d
161 161 d: remote is newer -> g
162 162 e: versions differ -> m
@@ -55,7 +55,7 b' Simulate a Windows merge:'
55 55 unmatched files in local:
56 56 b
57 57 resolving manifests
58 overwrite: False, partial: False
58 branchmerge: True, force: False, partial: False
59 59 ancestor: a03b0deabf2b, local: d6fa54f68ae1+, remote: 2d8bcf2dda39
60 60 a: update permissions -> e
61 61 updating: a 1/1 files (100.00%)
@@ -29,7 +29,7 b' revision.'
29 29 unmatched files in local:
30 30 bar
31 31 resolving manifests
32 overwrite: False, partial: False
32 branchmerge: True, force: False, partial: False
33 33 ancestor: bbd179dfa0a7, local: 71766447bdbb+, remote: 4d9e78aaceee
34 34 foo: remote is newer -> g
35 35 updating: foo 1/1 files (100.00%)
@@ -32,7 +32,7 b' http://mercurial.selenic.com/bts/issue67'
32 32 src: '1' -> dst: '1a'
33 33 checking for directory renames
34 34 resolving manifests
35 overwrite: False, partial: False
35 branchmerge: True, force: False, partial: False
36 36 ancestor: 81f4b099af3d, local: c64f439569a9+, remote: c12dcd37c90a
37 37 1: other deleted -> r
38 38 1a: remote created -> g
@@ -63,7 +63,7 b' http://mercurial.selenic.com/bts/issue67'
63 63 src: '1' -> dst: '1a' *
64 64 checking for directory renames
65 65 resolving manifests
66 overwrite: False, partial: False
66 branchmerge: True, force: False, partial: False
67 67 ancestor: c64f439569a9, local: e327dca35ac8+, remote: 746e9549ea96
68 68 1a: local copied/moved to 1 -> m
69 69 preserving 1a for resolve of 1a
@@ -86,7 +86,7 b' http://mercurial.selenic.com/bts/issue67'
86 86 src: '1' -> dst: '1a' *
87 87 checking for directory renames
88 88 resolving manifests
89 overwrite: False, partial: False
89 branchmerge: True, force: False, partial: False
90 90 ancestor: c64f439569a9, local: 746e9549ea96+, remote: e327dca35ac8
91 91 1: remote moved to 1a -> m
92 92 preserving 1 for resolve of 1a
@@ -1676,7 +1676,7 b' largefiles pulled on update - no server '
1676 1676 $ mv 02a439e5c31c526465ab1a0ca1f431f76b827b90 empty/.hg/largefiles/
1677 1677 $ hg -R http-clone --debug up --config largefiles.usercache=http-clone-usercache
1678 1678 resolving manifests
1679 overwrite: False, partial: False
1679 branchmerge: False, force: False, partial: False
1680 1680 ancestor: 000000000000, local: 000000000000+, remote: cf03e5bb9936
1681 1681 .hglf/f1: remote created -> g
1682 1682 updating: .hglf/f1 1/1 files (100.00%)
@@ -69,7 +69,7 b' This should use bar@rev2 as the ancestor'
69 69 $ hg --debug merge 3
70 70 searching for copies back to rev 1
71 71 resolving manifests
72 overwrite: False, partial: False
72 branchmerge: True, force: False, partial: False
73 73 ancestor: 0f2ff26688b9, local: 2263c1be0967+, remote: 0555950ead28
74 74 bar: versions differ -> m
75 75 preserving bar for resolve of bar
@@ -156,7 +156,7 b' This should use bar@rev2 as the ancestor'
156 156 $ hg --debug merge 3
157 157 searching for copies back to rev 1
158 158 resolving manifests
159 overwrite: False, partial: False
159 branchmerge: True, force: False, partial: False
160 160 ancestor: 0f2ff26688b9, local: 2263c1be0967+, remote: 3ffa6b9e35f0
161 161 bar: versions differ -> m
162 162 preserving bar for resolve of bar
@@ -32,7 +32,7 b' Symlink is local parent, executable is o'
32 32 $ hg merge --debug
33 33 searching for copies back to rev 1
34 34 resolving manifests
35 overwrite: False, partial: False
35 branchmerge: True, force: False, partial: False
36 36 ancestor: c334dc3be0da, local: 521a1e40188f+, remote: 3574f3e69b1c
37 37 a: versions differ -> m
38 38 preserving a for resolve of a
@@ -65,7 +65,7 b' Symlink is other parent, executable is l'
65 65 $ hg merge --debug
66 66 searching for copies back to rev 1
67 67 resolving manifests
68 overwrite: False, partial: False
68 branchmerge: True, force: False, partial: False
69 69 ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f
70 70 a: versions differ -> m
71 71 preserving a for resolve of a
@@ -99,7 +99,7 b' Update to link with local change should '
99 99 $ HGMERGE= hg up -y --debug
100 100 searching for copies back to rev 2
101 101 resolving manifests
102 overwrite: False, partial: False
102 branchmerge: False, force: False, partial: False
103 103 ancestor: c334dc3be0da, local: c334dc3be0da+, remote: 521a1e40188f
104 104 a: versions differ -> m
105 105 preserving a for resolve of a
@@ -81,7 +81,7 b' pull and merge from test-a again'
81 81 $ hg merge --debug
82 82 searching for copies back to rev 1
83 83 resolving manifests
84 overwrite: False, partial: False
84 branchmerge: True, force: False, partial: False
85 85 ancestor: 96b70246a118, local: 50c3a7e29886+, remote: 40d11a4173a8
86 86 test.txt: versions differ -> m
87 87 preserving test.txt for resolve of test.txt
@@ -37,7 +37,7 b''
37 37 discovered dir src: 'a/' -> dst: 'b/'
38 38 pending file src: 'a/c' -> dst: 'b/c'
39 39 resolving manifests
40 overwrite: False, partial: False
40 branchmerge: True, force: False, partial: False
41 41 ancestor: f9b20c0d4c51, local: ce36d17b18fb+, remote: 397f8b00a740
42 42 a/a: other deleted -> r
43 43 a/b: other deleted -> r
@@ -88,7 +88,7 b''
88 88 discovered dir src: 'a/' -> dst: 'b/'
89 89 pending file src: 'a/c' -> dst: 'b/c'
90 90 resolving manifests
91 overwrite: False, partial: False
91 branchmerge: True, force: False, partial: False
92 92 ancestor: f9b20c0d4c51, local: 397f8b00a740+, remote: ce36d17b18fb
93 93 None: local renamed directory to b/c -> d
94 94 updating:None 1/1 files (100.00%)
@@ -34,7 +34,7 b''
34 34 src: 'a2' -> dst: 'c2' !
35 35 checking for directory renames
36 36 resolving manifests
37 overwrite: False, partial: False
37 branchmerge: True, force: False, partial: False
38 38 ancestor: af1939970a1c, local: 044f8520aeeb+, remote: 85c198ef2f6c
39 39 a: remote moved to b -> m
40 40 preserving a for resolve of b
@@ -179,7 +179,7 b' Check for issue3074'
179 179 src: 'file' -> dst: 'newfile' %
180 180 checking for directory renames
181 181 resolving manifests
182 overwrite: False, partial: False
182 branchmerge: True, force: False, partial: False
183 183 ancestor: 19d7f95df299, local: 0084274f6b67+, remote: 5d32493049f0
184 184 file: rename and delete -> rd
185 185 newfile: remote created -> g
@@ -84,7 +84,7 b' args:'
84 84 src: 'a' -> dst: 'b' *
85 85 checking for directory renames
86 86 resolving manifests
87 overwrite: False, partial: False
87 branchmerge: True, force: False, partial: False
88 88 ancestor: 924404dff337, local: e300d1c794ec+, remote: 4ce40f5aca24
89 89 a: remote copied to b -> m
90 90 preserving a for resolve of b
@@ -119,7 +119,7 b' args:'
119 119 src: 'a' -> dst: 'b' *
120 120 checking for directory renames
121 121 resolving manifests
122 overwrite: False, partial: False
122 branchmerge: True, force: False, partial: False
123 123 ancestor: 924404dff337, local: 86a2aa42fc76+, remote: f4db7e329e71
124 124 a: remote is newer -> g
125 125 b: local copied/moved to a -> m
@@ -157,7 +157,7 b' args:'
157 157 src: 'a' -> dst: 'b' *
158 158 checking for directory renames
159 159 resolving manifests
160 overwrite: False, partial: False
160 branchmerge: True, force: False, partial: False
161 161 ancestor: 924404dff337, local: e300d1c794ec+, remote: bdb19105162a
162 162 a: remote moved to b -> m
163 163 preserving a for resolve of b
@@ -192,7 +192,7 b' args:'
192 192 src: 'a' -> dst: 'b' *
193 193 checking for directory renames
194 194 resolving manifests
195 overwrite: False, partial: False
195 branchmerge: True, force: False, partial: False
196 196 ancestor: 924404dff337, local: 02963e448370+, remote: f4db7e329e71
197 197 b: local copied/moved to a -> m
198 198 preserving b for resolve of b
@@ -226,7 +226,7 b' args:'
226 226 src: 'a' -> dst: 'b'
227 227 checking for directory renames
228 228 resolving manifests
229 overwrite: False, partial: False
229 branchmerge: True, force: False, partial: False
230 230 ancestor: 924404dff337, local: 94b33a1b7f2d+, remote: 4ce40f5aca24
231 231 b: remote created -> g
232 232 rev: versions differ -> m
@@ -256,7 +256,7 b' args:'
256 256 src: 'a' -> dst: 'b'
257 257 checking for directory renames
258 258 resolving manifests
259 overwrite: False, partial: False
259 branchmerge: True, force: False, partial: False
260 260 ancestor: 924404dff337, local: 86a2aa42fc76+, remote: 97c705ade336
261 261 rev: versions differ -> m
262 262 preserving rev for resolve of rev
@@ -283,7 +283,7 b' args:'
283 283 src: 'a' -> dst: 'b'
284 284 checking for directory renames
285 285 resolving manifests
286 overwrite: False, partial: False
286 branchmerge: True, force: False, partial: False
287 287 ancestor: 924404dff337, local: 94b33a1b7f2d+, remote: bdb19105162a
288 288 a: other deleted -> r
289 289 b: remote created -> g
@@ -315,7 +315,7 b' args:'
315 315 src: 'a' -> dst: 'b'
316 316 checking for directory renames
317 317 resolving manifests
318 overwrite: False, partial: False
318 branchmerge: True, force: False, partial: False
319 319 ancestor: 924404dff337, local: 02963e448370+, remote: 97c705ade336
320 320 rev: versions differ -> m
321 321 preserving rev for resolve of rev
@@ -336,7 +336,7 b' args:'
336 336 --------------
337 337 searching for copies back to rev 1
338 338 resolving manifests
339 overwrite: False, partial: False
339 branchmerge: True, force: False, partial: False
340 340 ancestor: 924404dff337, local: 62e7bf090eba+, remote: 49b6d8032493
341 341 b: versions differ -> m
342 342 preserving b for resolve of b
@@ -374,7 +374,7 b' m "um a c" "um x c" " " "10 do merg'
374 374 src: 'a' -> dst: 'c' !
375 375 checking for directory renames
376 376 resolving manifests
377 overwrite: False, partial: False
377 branchmerge: True, force: False, partial: False
378 378 ancestor: 924404dff337, local: 02963e448370+, remote: fe905ef2c33e
379 379 a: divergent renames -> dr
380 380 c: remote created -> g
@@ -404,7 +404,7 b' m "um a c" "um x c" " " "10 do merg'
404 404 --------------
405 405 searching for copies back to rev 1
406 406 resolving manifests
407 overwrite: False, partial: False
407 branchmerge: True, force: False, partial: False
408 408 ancestor: 924404dff337, local: 86a2aa42fc76+, remote: af30c7647fc7
409 409 b: versions differ -> m
410 410 preserving b for resolve of b
@@ -432,7 +432,7 b' m "um a c" "um x c" " " "10 do merg'
432 432 --------------
433 433 searching for copies back to rev 1
434 434 resolving manifests
435 overwrite: False, partial: False
435 branchmerge: True, force: False, partial: False
436 436 ancestor: 924404dff337, local: 59318016310c+, remote: bdb19105162a
437 437 a: other deleted -> r
438 438 b: versions differ -> m
@@ -462,7 +462,7 b' m "um a c" "um x c" " " "10 do merg'
462 462 --------------
463 463 searching for copies back to rev 1
464 464 resolving manifests
465 overwrite: False, partial: False
465 branchmerge: True, force: False, partial: False
466 466 ancestor: 924404dff337, local: 86a2aa42fc76+, remote: 8dbce441892a
467 467 a: remote is newer -> g
468 468 b: versions differ -> m
@@ -493,7 +493,7 b' m "um a c" "um x c" " " "10 do merg'
493 493 --------------
494 494 searching for copies back to rev 1
495 495 resolving manifests
496 overwrite: False, partial: False
496 branchmerge: True, force: False, partial: False
497 497 ancestor: 924404dff337, local: 59318016310c+, remote: bdb19105162a
498 498 a: other deleted -> r
499 499 b: versions differ -> m
@@ -523,7 +523,7 b' m "um a c" "um x c" " " "10 do merg'
523 523 --------------
524 524 searching for copies back to rev 1
525 525 resolving manifests
526 overwrite: False, partial: False
526 branchmerge: True, force: False, partial: False
527 527 ancestor: 924404dff337, local: 86a2aa42fc76+, remote: 8dbce441892a
528 528 a: remote is newer -> g
529 529 b: versions differ -> m
@@ -554,7 +554,7 b' m "um a c" "um x c" " " "10 do merg'
554 554 --------------
555 555 searching for copies back to rev 1
556 556 resolving manifests
557 overwrite: False, partial: False
557 branchmerge: True, force: False, partial: False
558 558 ancestor: 924404dff337, local: 0b76e65c8289+, remote: 4ce40f5aca24
559 559 b: versions differ -> m
560 560 preserving b for resolve of b
@@ -582,7 +582,7 b' m "um a c" "um x c" " " "10 do merg'
582 582 --------------
583 583 searching for copies back to rev 1
584 584 resolving manifests
585 overwrite: False, partial: False
585 branchmerge: True, force: False, partial: False
586 586 ancestor: 924404dff337, local: 02963e448370+, remote: 8dbce441892a
587 587 remote changed a which local deleted
588 588 use (c)hanged version or leave (d)eleted? c
@@ -615,7 +615,7 b' m "um a c" "um x c" " " "10 do merg'
615 615 --------------
616 616 searching for copies back to rev 1
617 617 resolving manifests
618 overwrite: False, partial: False
618 branchmerge: True, force: False, partial: False
619 619 ancestor: 924404dff337, local: 0b76e65c8289+, remote: bdb19105162a
620 620 local changed a which remote deleted
621 621 use (c)hanged version or (d)elete? c
@@ -652,7 +652,7 b' m "um a c" "um x c" " " "10 do merg'
652 652 src: 'a' -> dst: 'b' *
653 653 checking for directory renames
654 654 resolving manifests
655 overwrite: False, partial: False
655 branchmerge: True, force: False, partial: False
656 656 ancestor: 924404dff337, local: e300d1c794ec+, remote: 49b6d8032493
657 657 a: remote moved to b -> m
658 658 preserving a for resolve of b
@@ -686,7 +686,7 b' m "um a c" "um x c" " " "10 do merg'
686 686 src: 'a' -> dst: 'b' *
687 687 checking for directory renames
688 688 resolving manifests
689 overwrite: False, partial: False
689 branchmerge: True, force: False, partial: False
690 690 ancestor: 924404dff337, local: 62e7bf090eba+, remote: f4db7e329e71
691 691 b: local copied/moved to a -> m
692 692 preserving b for resolve of b
@@ -724,7 +724,7 b' m "nm a b" "um x a" " " "22 get a, '
724 724 src: 'a' -> dst: 'b' *
725 725 checking for directory renames
726 726 resolving manifests
727 overwrite: False, partial: False
727 branchmerge: True, force: False, partial: False
728 728 ancestor: 924404dff337, local: 02963e448370+, remote: 2b958612230f
729 729 b: local copied/moved to a -> m
730 730 preserving b for resolve of b
@@ -203,7 +203,7 b' merge tests'
203 203 $ hg merge 6 --debug # test change
204 204 searching for copies back to rev 2
205 205 resolving manifests
206 overwrite: False, partial: False
206 branchmerge: True, force: False, partial: False
207 207 ancestor: 1f14a2e2d3ec, local: f0d2028bf86d+, remote: 1831e14459c4
208 208 .hgsubstate: versions differ -> m
209 209 updating: .hgsubstate 1/1 files (100.00%)
@@ -212,7 +212,7 b' merge tests'
212 212 getting subrepo t
213 213 searching for copies back to rev 1
214 214 resolving manifests
215 overwrite: False, partial: False
215 branchmerge: False, force: False, partial: False
216 216 ancestor: 60ca1237c194, local: 60ca1237c194+, remote: 6747d179aa9a
217 217 t: remote is newer -> g
218 218 updating: t 1/1 files (100.00%)
@@ -232,7 +232,7 b' merge tests'
232 232 $ HGMERGE=internal:merge hg merge --debug 7 # test conflict
233 233 searching for copies back to rev 2
234 234 resolving manifests
235 overwrite: False, partial: False
235 branchmerge: True, force: False, partial: False
236 236 ancestor: 1831e14459c4, local: e45c8b14af55+, remote: f94576341bcf
237 237 .hgsubstate: versions differ -> m
238 238 updating: .hgsubstate 1/1 files (100.00%)
@@ -241,7 +241,7 b' merge tests'
241 241 merging subrepo t
242 242 searching for copies back to rev 2
243 243 resolving manifests
244 overwrite: False, partial: False
244 branchmerge: True, force: False, partial: False
245 245 ancestor: 6747d179aa9a, local: 20a0db6fbf6c+, remote: 7af322bc1198
246 246 t: versions differ -> m
247 247 preserving t for resolve of t
@@ -44,7 +44,7 b''
44 44 unmatched files in other:
45 45 b
46 46 resolving manifests
47 overwrite: False, partial: False
47 branchmerge: False, force: False, partial: False
48 48 ancestor: c19d34741b0a, local: c19d34741b0a+, remote: 1e71731e6fbb
49 49 a: versions differ -> m
50 50 preserving a for resolve of a
@@ -65,7 +65,7 b''
65 65
66 66 $ hg --debug up 0
67 67 resolving manifests
68 overwrite: False, partial: False
68 branchmerge: False, force: False, partial: False
69 69 ancestor: 1e71731e6fbb, local: 1e71731e6fbb+, remote: c19d34741b0a
70 70 b: other deleted -> r
71 71 a: versions differ -> m
@@ -98,7 +98,7 b''
98 98 unmatched files in other:
99 99 b
100 100 resolving manifests
101 overwrite: False, partial: False
101 branchmerge: False, force: False, partial: False
102 102 ancestor: c19d34741b0a, local: c19d34741b0a+, remote: 1e71731e6fbb
103 103 a: versions differ -> m
104 104 preserving a for resolve of a
@@ -176,7 +176,7 b' create a second head'
176 176 $ hg --debug merge -f
177 177 searching for copies back to rev 1
178 178 resolving manifests
179 overwrite: False, partial: False
179 branchmerge: True, force: True, partial: False
180 180 ancestor: c19d34741b0a, local: 1e71731e6fbb+, remote: 83c51d0caff4
181 181 a: versions differ -> m
182 182 preserving a for resolve of a
@@ -66,7 +66,7 b''
66 66
67 67 $ hg update --debug -C 1
68 68 resolving manifests
69 overwrite: True, partial: False
69 branchmerge: False, force: True, partial: False
70 70 ancestor: 91ebc10ed028+, local: 91ebc10ed028+, remote: 71a760306caf
71 71 side1: other deleted -> r
72 72 side2: other deleted -> r
General Comments 0
You need to be logged in to leave comments. Login now