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()):