comparison mercurial/simplemerge.py @ 48566:50de08904c63

merge: consider the file merged when using :merge-{local,other} Returning `None` from `simplemerge()` means that the caller interprets it as "no merge was necessary (because two sides matched)". See 6217040b2780 and issue2680 for some background. However, `simplemerge()` shouldn't even get called in such scenarios, and returning `None` means that the file is not considered merged, even though the contents actually were. See the affected test cases. Differential Revision: https://phab.mercurial-scm.org/D11999
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 14 Jan 2022 09:28:44 -0800
parents 7ed4c4753891
children 77e24ee8994b
comparison
equal deleted inserted replaced
48565:7ed4c4753891 48566:50de08904c63
481 try: 481 try:
482 localtext = readctx(localctx) 482 localtext = readctx(localctx)
483 basetext = readctx(basectx) 483 basetext = readctx(basectx)
484 othertext = readctx(otherctx) 484 othertext = readctx(otherctx)
485 except error.Abort: 485 except error.Abort:
486 return 1 486 return True
487 487
488 m3 = Merge3Text(basetext, localtext, othertext) 488 m3 = Merge3Text(basetext, localtext, othertext)
489 conflicts = False 489 conflicts = False
490 mode = opts.get('mode', b'merge') 490 mode = opts.get('mode', b'merge')
491 if mode == b'union': 491 if mode == b'union':
509 else: 509 else:
510 # localctx.flags() already has the merged flags (done in 510 # localctx.flags() already has the merged flags (done in
511 # mergestate.resolve()) 511 # mergestate.resolve())
512 localctx.write(mergedtext, localctx.flags()) 512 localctx.write(mergedtext, localctx.flags())
513 513
514 if conflicts: 514 return conflicts
515 return 1