[Updated] D8877: merge: pass mergeresult obj in merge._prefetchfiles()
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Sat Aug 8 16:55:44 UTC 2020
Closed by commit rHG2c96fd8e05f6: merge: pass mergeresult obj in merge._prefetchfiles() (authored by pulkit).
This revision was automatically updated to reflect the committed changes.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D8877?vs=22258&id=22335
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D8877/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D8877
AFFECTED FILES
mercurial/merge.py
CHANGE DETAILS
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -1256,34 +1256,28 @@
yield True, filedata
-def _prefetchfiles(repo, ctx, actions):
+def _prefetchfiles(repo, ctx, mresult):
"""Invoke ``scmutil.prefetchfiles()`` for the files relevant to the dict
of merge actions. ``ctx`` is the context being merged in."""
# Skipping 'a', 'am', 'f', 'r', 'dm', 'e', 'k', 'p' and 'pr', because they
# don't touch the context to be merged in. 'cd' is skipped, because
# changed/deleted never resolves to something from the remote side.
- oplist = [
- actions[a]
- for a in (
+ files = []
+ for f, args, msg in mresult.getactions(
+ [
mergestatemod.ACTION_GET,
mergestatemod.ACTION_DELETED_CHANGED,
mergestatemod.ACTION_LOCAL_DIR_RENAME_GET,
mergestatemod.ACTION_MERGE,
- )
- ]
+ ]
+ ):
+ files.append(f)
+
prefetch = scmutil.prefetchfiles
matchfiles = scmutil.matchfiles
prefetch(
- repo,
- [
- (
- ctx.rev(),
- matchfiles(
- repo, [f for sublist in oplist for f, args, msg in sublist]
- ),
- )
- ],
+ repo, [(ctx.rev(), matchfiles(repo, files),)],
)
@@ -1351,7 +1345,7 @@
"""
actions = mresult.actionsdict
- _prefetchfiles(repo, mctx, actions)
+ _prefetchfiles(repo, mctx, mresult)
updated, merged, removed = 0, 0, 0
ms = mergestatemod.mergestate.clean(
To: pulkit, #hg-reviewers, indygreg
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20200808/39abd22c/attachment-0002.html>
More information about the Mercurial-patches
mailing list