comparison mercurial/filemerge.py @ 26611:a5ff66e6d77a

filemerge: break overall filemerge into separate premerge and merge steps This means that in ms.resolve we must call merge after calling premerge. This doesn't yet mean that all premerges happen before any merges -- however, this does get us closer to our goal. The output differences are because we recompute the merge tool. The only user-visible difference caused by this patch is that if the tool is missing we'll print the warning twice. Not a huge deal, though.
author Siddharth Agarwal <sid0@fb.com>
date Sun, 11 Oct 2015 20:47:14 -0700
parents f9f82c444ff7
children abb5ec3eb6ce
comparison
equal deleted inserted replaced
26610:f9f82c444ff7 26611:a5ff66e6d77a
517 if markerstyle != 'basic': 517 if markerstyle != 'basic':
518 labels = _formatlabels(repo, fcd, fco, fca, labels) 518 labels = _formatlabels(repo, fcd, fco, fca, labels)
519 519
520 if premerge and mergetype == fullmerge: 520 if premerge and mergetype == fullmerge:
521 r = _premerge(repo, toolconf, files, labels=labels) 521 r = _premerge(repo, toolconf, files, labels=labels)
522 # complete if premerge successful (r is 0)
523 return not r, r
522 524
523 if not r: # premerge successfully merged the file 525 if not r: # premerge successfully merged the file
524 needcheck = False 526 needcheck = False
525 else: 527 else:
526 needcheck, r = func(repo, mynode, orig, fcd, fco, fca, toolconf, 528 needcheck, r = func(repo, mynode, orig, fcd, fco, fca, toolconf,
573 575
574 def premerge(repo, mynode, orig, fcd, fco, fca, labels=None): 576 def premerge(repo, mynode, orig, fcd, fco, fca, labels=None):
575 return _filemerge(True, repo, mynode, orig, fcd, fco, fca, labels=labels) 577 return _filemerge(True, repo, mynode, orig, fcd, fco, fca, labels=labels)
576 578
577 def filemerge(repo, mynode, orig, fcd, fco, fca, labels=None): 579 def filemerge(repo, mynode, orig, fcd, fco, fca, labels=None):
578 # premerge = True is temporary -- will be changed to False once premerge 580 return _filemerge(False, repo, mynode, orig, fcd, fco, fca, labels=labels)
579 # function above is ready
580 return _filemerge(True, repo, mynode, orig, fcd, fco, fca, labels=labels)
581 581
582 # tell hggettext to extract docstrings from these functions: 582 # tell hggettext to extract docstrings from these functions:
583 i18nfunctions = internals.values() 583 i18nfunctions = internals.values()