Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/simplemerge.py @ 48594: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
48593:7ed4c4753891 | 48594: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 |