Mercurial > public > mercurial-scm > hg-stable
diff mercurial/commands.py @ 45526:32ce4cbaec4b
mergedriver: delete it
The merge driver code was added in late 2015. I think
'406a654b::6f045b56 & user("sid0")' is a reasonable revset for finding
the relevant commits, including preparation for it. The code is very
poorly tested, which makes it very hard to maintain. It seems it's
only used by FB and they don't use this code base anymore, so let's
remove the code to make it easier for us to maintain our product.
Differential Revision: https://phab.mercurial-scm.org/D9041
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 17 Sep 2020 22:34:36 -0700 |
parents | ac7a3da0dbb6 |
children | 2b339c6c6e99 |
line wrap: on
line diff
--- a/mercurial/commands.py Sun Sep 06 10:33:12 2020 +0200 +++ b/mercurial/commands.py Thu Sep 17 22:34:36 2020 -0700 @@ -5986,10 +5986,6 @@ b'resolve.resolved', b'R', ), - mergestatemod.MERGE_RECORD_DRIVER_RESOLVED: ( - b'resolve.driverresolved', - b'D', - ), } for f in ms: @@ -6014,21 +6010,9 @@ ) wctx = repo[None] - - if ( - ms.mergedriver - and ms.mdstate() == mergestatemod.MERGE_DRIVER_STATE_UNMARKED - ): - proceed = mergemod.driverpreprocess(repo, ms, wctx) - ms.commit() - # allow mark and unmark to go through - if not mark and not unmark and not proceed: - return 1 - m = scmutil.match(wctx, pats, opts) ret = 0 didwork = False - runconclude = False tocomplete = [] hasconflictmarkers = [] @@ -6043,26 +6027,6 @@ didwork = True - # don't let driver-resolved files be marked, and run the conclude - # step if asked to resolve - if ms[f] == mergestatemod.MERGE_RECORD_DRIVER_RESOLVED: - exact = m.exact(f) - if mark: - if exact: - ui.warn( - _(b'not marking %s as it is driver-resolved\n') - % uipathfn(f) - ) - elif unmark: - if exact: - ui.warn( - _(b'not unmarking %s as it is driver-resolved\n') - % uipathfn(f) - ) - else: - runconclude = True - continue - # path conflicts must be resolved manually if ms[f] in ( mergestatemod.MERGE_RECORD_UNRESOLVED_PATH, @@ -6184,32 +6148,11 @@ ui.warn(_(b"arguments do not match paths that need resolving\n")) if hint: ui.warn(hint) - elif ms.mergedriver and ms.mdstate() != b's': - # run conclude step when either a driver-resolved file is requested - # or there are no driver-resolved files - # we can't use 'ret' to determine whether any files are unresolved - # because we might not have tried to resolve some - if (runconclude or not list(ms.driverresolved())) and not list( - ms.unresolved() - ): - proceed = mergemod.driverconclude(repo, ms, wctx) - ms.commit() - if not proceed: - return 1 - - # Nudge users into finishing an unfinished operation + unresolvedf = list(ms.unresolved()) - driverresolvedf = list(ms.driverresolved()) - if not unresolvedf and not driverresolvedf: + if not unresolvedf: ui.status(_(b'(no more unresolved files)\n')) cmdutil.checkafterresolved(repo) - elif not unresolvedf: - ui.status( - _( - b'(no more unresolved files -- ' - b'run "hg resolve --all" to conclude)\n' - ) - ) return ret