D683: largefiles: force an on-disk merge
phillco (Phil Cohen)
phabricator at mercurial-scm.org
Mon Sep 11 20:25:39 UTC 2017
phillco created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Largefiles isn't a good candidate for in-memory merge (it uses a custom
dirstate, matcher, and the files might not fit in memory) so have it always
run an old-style merge.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D683
AFFECTED FILES
hgext/largefiles/overrides.py
CHANGE DETAILS
diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py
--- a/hgext/largefiles/overrides.py
+++ b/hgext/largefiles/overrides.py
@@ -1432,7 +1432,10 @@
lfdirstate.write()
oldstandins = lfutil.getstandinsstate(repo)
-
+ # Make sure the merge runs on disk, not in-memory. largefiles is not a
+ # good candidate for in-memory merge (large files, custom dirstate,
+ # matcher usage).
+ kwargs['wc'] = repo[None]
result = orig(repo, node, branchmerge, force, *args, **kwargs)
newstandins = lfutil.getstandinsstate(repo)
To: phillco, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list