Show More
@@ -353,27 +353,23 b' def pathcopies(x, y, match=None):' | |||||
353 | return _chain(x, y, _backwardrenames(x, a, match=match), |
|
353 | return _chain(x, y, _backwardrenames(x, a, match=match), | |
354 | _forwardcopies(a, y, match=match)) |
|
354 | _forwardcopies(a, y, match=match)) | |
355 |
|
355 | |||
356 |
def _computenonoverlap(repo, c1, c2, addedinm1, addedinm2, |
|
356 | def _computenonoverlap(repo, c1, c2, addedinm1, addedinm2, debug=True): | |
357 | """Computes, based on addedinm1 and addedinm2, the files exclusive to c1 |
|
357 | """Computes, based on addedinm1 and addedinm2, the files exclusive to c1 | |
358 | and c2. This is its own function so extensions can easily wrap this call |
|
358 | and c2. This is its own function so extensions can easily wrap this call | |
359 | to see what files mergecopies is about to process. |
|
359 | to see what files mergecopies is about to process. | |
360 |
|
360 | |||
361 | Even though c1 and c2 are not used in this function, they are useful in |
|
361 | Even though c1 and c2 are not used in this function, they are useful in | |
362 | other extensions for being able to read the file nodes of the changed files. |
|
362 | other extensions for being able to read the file nodes of the changed files. | |
363 |
|
||||
364 | "baselabel" can be passed to help distinguish the multiple computations |
|
|||
365 | done in the graft case. |
|
|||
366 | """ |
|
363 | """ | |
367 | u1 = sorted(addedinm1 - addedinm2) |
|
364 | u1 = sorted(addedinm1 - addedinm2) | |
368 | u2 = sorted(addedinm2 - addedinm1) |
|
365 | u2 = sorted(addedinm2 - addedinm1) | |
369 |
|
366 | |||
370 | header = " unmatched files in %s" |
|
367 | if debug: | |
371 | if baselabel: |
|
368 | header = " unmatched files in %s" | |
372 | header += ' (from %s)' % baselabel |
|
369 | if u1: | |
373 | if u1: |
|
370 | repo.ui.debug("%s:\n %s\n" % (header % 'local', "\n ".join(u1))) | |
374 | repo.ui.debug("%s:\n %s\n" % (header % 'local', "\n ".join(u1))) |
|
371 | if u2: | |
375 | if u2: |
|
372 | repo.ui.debug("%s:\n %s\n" % (header % 'other', "\n ".join(u2))) | |
376 | repo.ui.debug("%s:\n %s\n" % (header % 'other', "\n ".join(u2))) |
|
|||
377 |
|
373 | |||
378 | return u1, u2 |
|
374 | return u1, u2 | |
379 |
|
375 | |||
@@ -588,15 +584,14 b' def _fullcopytracing(repo, c1, c2, base)' | |||||
588 | u1u, u2u = u1r, u2r |
|
584 | u1u, u2u = u1r, u2r | |
589 | else: |
|
585 | else: | |
590 | # unmatched file from base (DAG rotation in the graft case) |
|
586 | # unmatched file from base (DAG rotation in the graft case) | |
591 |
u1r, u2r = _computenonoverlap(repo, c1, c2, addedinm1, addedinm2 |
|
587 | u1r, u2r = _computenonoverlap(repo, c1, c2, addedinm1, addedinm2) | |
592 | baselabel='base') |
|
|||
593 | # unmatched file from topological common ancestors (no DAG rotation) |
|
588 | # unmatched file from topological common ancestors (no DAG rotation) | |
594 | # need to recompute this for directory move handling when grafting |
|
589 | # need to recompute this for directory move handling when grafting | |
595 | mta = tca.manifest() |
|
590 | mta = tca.manifest() | |
596 | u1u, u2u = _computenonoverlap(repo, c1, c2, |
|
591 | u1u, u2u = _computenonoverlap(repo, c1, c2, | |
597 | m1.filesnotin(mta, repo.narrowmatch()), |
|
592 | m1.filesnotin(mta, repo.narrowmatch()), | |
598 | m2.filesnotin(mta, repo.narrowmatch()), |
|
593 | m2.filesnotin(mta, repo.narrowmatch()), | |
599 |
|
|
594 | debug=False) | |
600 |
|
595 | |||
601 | for f in u1u: |
|
596 | for f in u1u: | |
602 | _checkcopies(c1, c2, f, base, tca, dirtyc1, limit, data1) |
|
597 | _checkcopies(c1, c2, f, base, tca, dirtyc1, limit, data1) |
@@ -220,8 +220,6 b' Graft out of order, skipping a merge and' | |||||
220 | committing changelog |
|
220 | committing changelog | |
221 | updating the branch cache |
|
221 | updating the branch cache | |
222 | grafting 5:97f8bfe72746 "5" |
|
222 | grafting 5:97f8bfe72746 "5" | |
223 | unmatched files in other (from topological common ancestor): |
|
|||
224 | c |
|
|||
225 | resolving manifests |
|
223 | resolving manifests | |
226 | branchmerge: True, force: True, partial: False |
|
224 | branchmerge: True, force: True, partial: False | |
227 | ancestor: 4c60f11aa304, local: 6b9e5368ca4e+, remote: 97f8bfe72746 |
|
225 | ancestor: 4c60f11aa304, local: 6b9e5368ca4e+, remote: 97f8bfe72746 | |
@@ -235,8 +233,6 b' Graft out of order, skipping a merge and' | |||||
235 | $ HGEDITOR=cat hg graft 4 3 --log --debug |
|
233 | $ HGEDITOR=cat hg graft 4 3 --log --debug | |
236 | scanning for duplicate grafts |
|
234 | scanning for duplicate grafts | |
237 | grafting 4:9c233e8e184d "4" |
|
235 | grafting 4:9c233e8e184d "4" | |
238 | unmatched files in other (from topological common ancestor): |
|
|||
239 | c |
|
|||
240 | resolving manifests |
|
236 | resolving manifests | |
241 | branchmerge: True, force: True, partial: False |
|
237 | branchmerge: True, force: True, partial: False | |
242 | ancestor: 4c60f11aa304, local: 1905859650ec+, remote: 9c233e8e184d |
|
238 | ancestor: 4c60f11aa304, local: 1905859650ec+, remote: 9c233e8e184d | |
@@ -741,8 +737,6 b' Transplants of grafts can find a destina' | |||||
741 | $ hg graft -q 13 --debug |
|
737 | $ hg graft -q 13 --debug | |
742 | scanning for duplicate grafts |
|
738 | scanning for duplicate grafts | |
743 | grafting 13:7a4785234d87 "2" |
|
739 | grafting 13:7a4785234d87 "2" | |
744 | unmatched files in other (from topological common ancestor): |
|
|||
745 | g |
|
|||
746 | unmatched files new in both: |
|
740 | unmatched files new in both: | |
747 | b |
|
741 | b | |
748 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
|
742 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
@@ -248,8 +248,6 b' Check that the right ancestors is used w' | |||||
248 | getting f1.txt |
|
248 | getting f1.txt | |
249 | merge against 9:e31216eec445 |
|
249 | merge against 9:e31216eec445 | |
250 | detach base 8:8e4e2c1a07ae |
|
250 | detach base 8:8e4e2c1a07ae | |
251 | unmatched files in other (from topological common ancestor): |
|
|||
252 | f2.txt |
|
|||
253 | resolving manifests |
|
251 | resolving manifests | |
254 | branchmerge: True, force: True, partial: False |
|
252 | branchmerge: True, force: True, partial: False | |
255 | ancestor: 8e4e2c1a07ae, local: 4bc80088dc6b+, remote: e31216eec445 |
|
253 | ancestor: 8e4e2c1a07ae, local: 4bc80088dc6b+, remote: e31216eec445 | |
@@ -267,8 +265,6 b' Check that the right ancestors is used w' | |||||
267 | already in destination |
|
265 | already in destination | |
268 | merge against 10:2f2496ddf49d |
|
266 | merge against 10:2f2496ddf49d | |
269 | detach base 9:e31216eec445 |
|
267 | detach base 9:e31216eec445 | |
270 | unmatched files in other (from topological common ancestor): |
|
|||
271 | f2.txt |
|
|||
272 | resolving manifests |
|
268 | resolving manifests | |
273 | branchmerge: True, force: True, partial: False |
|
269 | branchmerge: True, force: True, partial: False | |
274 | ancestor: e31216eec445, local: 19c888675e13+, remote: 2f2496ddf49d |
|
270 | ancestor: e31216eec445, local: 19c888675e13+, remote: 2f2496ddf49d |
@@ -67,8 +67,6 b'' | |||||
67 |
|
67 | |||
68 | $ hg --debug up 0 |
|
68 | $ hg --debug up 0 | |
69 | starting 4 threads for background file closing (?) |
|
69 | starting 4 threads for background file closing (?) | |
70 | unmatched files in local (from topological common ancestor): |
|
|||
71 | b |
|
|||
72 | resolving manifests |
|
70 | resolving manifests | |
73 | branchmerge: False, force: False, partial: False |
|
71 | branchmerge: False, force: False, partial: False | |
74 | ancestor: 1e71731e6fbb, local: 1e71731e6fbb+, remote: c19d34741b0a |
|
72 | ancestor: 1e71731e6fbb, local: 1e71731e6fbb+, remote: c19d34741b0a |
General Comments 0
You need to be logged in to leave comments.
Login now