Mercurial > hg
view tests/mockmakedate.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 | 2372284d9457 |
children | 6000f5b25c9b |
line wrap: on
line source
# mock out util.makedate() to supply testable values from __future__ import absolute_import import os from mercurial import pycompat from mercurial.utils import dateutil def mockmakedate(): filename = os.path.join(os.environ['TESTTMP'], 'testtime') try: with open(filename, 'rb') as timef: time = float(timef.read()) + 1 except IOError: time = 0.0 with open(filename, 'wb') as timef: timef.write(pycompat.bytestr(time)) return (time, 0) dateutil.makedate = mockmakedate