Mercurial > hg
comparison 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 |
comparison
equal
deleted
inserted
replaced
45544:2b339c6c6e99 | 45545:e5e1285b6f6f |
---|---|
193 | 193 |
194 # override some extensions' stuff as well | 194 # override some extensions' stuff as well |
195 for name, module in extensions.extensions(): | 195 for name, module in extensions.extensions(): |
196 if name == b'rebase': | 196 if name == b'rebase': |
197 # TODO: teach exthelper to handle this | 197 # TODO: teach exthelper to handle this |
198 extensions.wrapfunction(module, b'rebase', overrides.overriderebase) | 198 extensions.wrapfunction( |
199 module, b'rebase', overrides.overriderebasecmd | |
200 ) | |
199 | 201 |
200 | 202 |
201 revsetpredicate = eh.revsetpredicate | 203 revsetpredicate = eh.revsetpredicate |