Mercurial > public > mercurial-scm > hg
comparison mercurial/merge.py @ 23656:d3e137c91f94
merge: move checking of unknown files out of manifestmerge()
This moves most reading of filelogs out of manifestmerge, making it
easy for a narrow clone extension to filter out or translate unwanted
actions before any filelogs are read. The only call left is inside of
copies.mergecopies(), which can be overridden separately at a lower
level.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 18 Dec 2014 09:22:09 -0800 |
parents | 79235b46062c |
children | 7cc77030c557 |
comparison
equal
deleted
inserted
replaced
23655:79235b46062c | 23656:d3e137c91f94 |
---|---|
541 if acceptremote: | 541 if acceptremote: |
542 actions[f] = ('c', (fl2,), "remote recreating") | 542 actions[f] = ('c', (fl2,), "remote recreating") |
543 else: | 543 else: |
544 actions[f] = ('dc', (fl2,), "prompt deleted/changed") | 544 actions[f] = ('dc', (fl2,), "prompt deleted/changed") |
545 | 545 |
546 _checkunknownfiles(repo, wctx, p2, force, actions) | |
547 | |
548 return actions, diverge, renamedelete | 546 return actions, diverge, renamedelete |
549 | 547 |
550 def _resolvetrivial(repo, wctx, mctx, ancestor, actions): | 548 def _resolvetrivial(repo, wctx, mctx, ancestor, actions): |
551 """Resolves false conflicts where the nodeid changed but the content | 549 """Resolves false conflicts where the nodeid changed but the content |
552 remained the same.""" | 550 remained the same.""" |
565 | 563 |
566 if len(ancestors) == 1: # default | 564 if len(ancestors) == 1: # default |
567 actions, diverge, renamedelete = manifestmerge( | 565 actions, diverge, renamedelete = manifestmerge( |
568 repo, wctx, mctx, ancestors[0], branchmerge, force, partial, | 566 repo, wctx, mctx, ancestors[0], branchmerge, force, partial, |
569 acceptremote, followcopies) | 567 acceptremote, followcopies) |
568 _checkunknownfiles(repo, wctx, mctx, force, actions) | |
570 | 569 |
571 else: # only when merge.preferancestor=* - the default | 570 else: # only when merge.preferancestor=* - the default |
572 repo.ui.note( | 571 repo.ui.note( |
573 _("note: merging %s and %s using bids from ancestors %s\n") % | 572 _("note: merging %s and %s using bids from ancestors %s\n") % |
574 (wctx, mctx, _(' and ').join(str(anc) for anc in ancestors))) | 573 (wctx, mctx, _(' and ').join(str(anc) for anc in ancestors))) |
579 for ancestor in ancestors: | 578 for ancestor in ancestors: |
580 repo.ui.note(_('\ncalculating bids for ancestor %s\n') % ancestor) | 579 repo.ui.note(_('\ncalculating bids for ancestor %s\n') % ancestor) |
581 actions, diverge1, renamedelete1 = manifestmerge( | 580 actions, diverge1, renamedelete1 = manifestmerge( |
582 repo, wctx, mctx, ancestor, branchmerge, force, partial, | 581 repo, wctx, mctx, ancestor, branchmerge, force, partial, |
583 acceptremote, followcopies) | 582 acceptremote, followcopies) |
583 _checkunknownfiles(repo, wctx, mctx, force, actions) | |
584 if diverge is None: # and renamedelete is None. | 584 if diverge is None: # and renamedelete is None. |
585 # Arbitrarily pick warnings from first iteration | 585 # Arbitrarily pick warnings from first iteration |
586 diverge = diverge1 | 586 diverge = diverge1 |
587 renamedelete = renamedelete1 | 587 renamedelete = renamedelete1 |
588 for f, a in sorted(actions.iteritems()): | 588 for f, a in sorted(actions.iteritems()): |