Mercurial > hg
diff hgext/largefiles/__init__.py @ 45545:e5e1285b6f6f
largefiles: prevent in-memory merge instead of switching to on-disk
I enabled in-memory merge by default while testing some changes. I
spent quite some time troubleshooting why largefiles was still
creating an on-disk mergestate. Then I found out that it ignores the
callers `wc` argument to `mergemod._update()` and always uses on-disk
merge. This patch changes that so we raise an error if largefiles is
used with in-memory merge. That way we'll notice if in-memory merge is
used with largefiles instead of silently replacing ignoring the
`overlayworkingctx` instance and updating the working copy instead.
I felt a little bad that this would break things more for users with
both largefiles and in-memory rebase enabled. So I also added a
higher-level override to make sure that largefiles disables in-memory
rebase. It turns out that that fixes `run-tests.py -k largefiles
--extra-config-opt rebase.experimental.inmemory=1`.
Differential Revision: https://phab.mercurial-scm.org/D9069
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 22 Sep 2020 23:18:37 -0700 |
parents | 687b865b95ad |
children | 89a2afe31e82 |
line wrap: on
line diff
--- a/hgext/largefiles/__init__.py Mon Sep 21 09:56:48 2020 -0700 +++ b/hgext/largefiles/__init__.py Tue Sep 22 23:18:37 2020 -0700 @@ -195,7 +195,9 @@ for name, module in extensions.extensions(): if name == b'rebase': # TODO: teach exthelper to handle this - extensions.wrapfunction(module, b'rebase', overrides.overriderebase) + extensions.wrapfunction( + module, b'rebase', overrides.overriderebasecmd + ) revsetpredicate = eh.revsetpredicate