diff -r de8181c5414d -r 38941a28406a mercurial/commands.py --- a/mercurial/commands.py Fri Dec 03 21:50:25 2021 -0800 +++ b/mercurial/commands.py Thu Dec 02 22:59:36 2021 -0800 @@ -6130,7 +6130,6 @@ ret = 0 didwork = False - tocomplete = [] hasconflictmarkers = [] if mark: markcheck = ui.config(b'commands', b'resolve.mark-check') @@ -6183,24 +6182,20 @@ # preresolve file overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')} with ui.configoverride(overrides, b'resolve'): - complete, r = ms.preresolve(f, wctx) - if not complete: - tocomplete.append(f) - elif r: + r = ms.resolve(f, wctx) + if r: ret = 1 finally: ms.commit() - # replace filemerge's .orig file with our resolve file, but only - # for merges that are complete - if complete: - try: - util.rename( - a + b".resolve", scmutil.backuppath(ui, repo, f) - ) - except OSError as inst: - if inst.errno != errno.ENOENT: - raise + # replace filemerge's .orig file with our resolve file + try: + util.rename( + a + b".resolve", scmutil.backuppath(ui, repo, f) + ) + except OSError as inst: + if inst.errno != errno.ENOENT: + raise if hasconflictmarkers: ui.warn( @@ -6218,25 +6213,6 @@ hint=_(b'use --all to mark anyway'), ) - for f in tocomplete: - try: - # resolve file - overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')} - with ui.configoverride(overrides, b'resolve'): - r = ms.resolve(f, wctx) - if r: - ret = 1 - finally: - ms.commit() - - # replace filemerge's .orig file with our resolve file - a = repo.wjoin(f) - try: - util.rename(a + b".resolve", scmutil.backuppath(ui, repo, f)) - except OSError as inst: - if inst.errno != errno.ENOENT: - raise - ms.commit() branchmerge = repo.dirstate.p2() != repo.nullid # resolve is not doing a parent change here, however, `record updates`