Mon, 11 Dec 2017 22:38:31 +0900 patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org> [Mon, 11 Dec 2017 22:38:31 +0900] rev 35392
patch: do not break up multibyte character when highlighting word This changes {\W} to {\W - any 8bit characters} so that multibyte sequences are taken as words. Since we don't know the encoding of user content, this is the most sensible definition of a non-word.
Sun, 10 Dec 2017 00:16:11 -0500 run-tests: accept '\' vs '/' path differences without '(glob)'
Matt Harbison <matt_harbison@yahoo.com> [Sun, 10 Dec 2017 00:16:11 -0500] rev 35391
run-tests: accept '\' vs '/' path differences without '(glob)' Having to constantly adjust these is a hassle. It's easy for this to slip by when not testing on Windows, and then when it happens on stable, the tests fail for the next 3 months if we follow the rules for stable. This works the same way the EOL differences are ignored, namely to adjust on the fly and recheck on Windows. I can't think of any situation where there would be a '\' on Windows, a '/' elsewhere, and the '/' should be considered a failure on Windows. This fixes the obvious output problems where (glob) is missing. Without this, test-alias.t, test-remotenames.t and test-largefiles-misc.t are failing. The flip side (not handled by this) is the case where an unnecessary glob is present. There seems to be two separate behaviors. cf300c1ad7bf is an example of where the test has been autocorrecting (with output differences), and d4ec69ff652a is an example where the test fails and reports 'no result code from test'. Hopefully those cases will become even more rare if people don't need to guess at when a glob is needed for a Windows path. It's probably unreasonable to submit a single patch that wipes out all of the (glob) instances that were only used to hide path differences, given the churn from other contributors. Since their presence isn't harming the tests, these can be removed through attrition.
Sun, 10 Dec 2017 00:00:36 -0500 run-tests: suggest a (glob) for os.path.sep mismatches with '\r\n' EOL too
Matt Harbison <matt_harbison@yahoo.com> [Sun, 10 Dec 2017 00:00:36 -0500] rev 35390
run-tests: suggest a (glob) for os.path.sep mismatches with '\r\n' EOL too We already do this for lines ending in '\n', such that the test only needs to be run with --interactive and the changes accepted at the end. But that wasn't working with list-tree.py output for example, and required manual fixup.
Sat, 09 Dec 2017 23:46:44 -0500 tests: stabilize the sorted output of list-tree.py on Windows
Matt Harbison <matt_harbison@yahoo.com> [Sat, 09 Dec 2017 23:46:44 -0500] rev 35389
tests: stabilize the sorted output of list-tree.py on Windows The test-largefiles-misc.t test was moving 'dir2\' before 'dir\' because while '/' precedes most of the printable ASCII characters, '\' comes after numbers and capital letters, among other symbols.
Sun, 10 Dec 2017 19:43:35 +0900 upgrade: simplify workaround for repo.ui.copy()
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Dec 2017 19:43:35 +0900] rev 35388
upgrade: simplify workaround for repo.ui.copy() Copied from commandserver.py.
Sun, 10 Dec 2017 19:41:49 +0900 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Dec 2017 19:41:49 +0900] rev 35387
debugformat: embed raw values in JSON and template output
Sun, 10 Dec 2017 19:39:39 +0900 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Dec 2017 19:39:39 +0900] rev 35386
debugformat: flush formatter output per item
Sat, 09 Dec 2017 19:42:51 -0600 tests: use Python to write binary data in lfs test instead of shell
Augie Fackler <raf@durin42.com> [Sat, 09 Dec 2017 19:42:51 -0600] rev 35385
tests: use Python to write binary data in lfs test instead of shell The shell construct here appears to be unevenly supported: it works in /bin/sh on FreeBSD, but it doesn't seem to work when /bin/sh is dash. Using a Python inline directive works fine, so let's just do that instead. Differential Revision: https://phab.mercurial-scm.org/D1636
Sun, 10 Dec 2017 05:41:05 +0530 py3: add 32 new tests passing to the whitelist
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 05:41:05 +0530] rev 35384
py3: add 32 new tests passing to the whitelist Yay, we have crossed 100 in number of tests passing on Python 3. There are 662 tests in our test suite, so there is a lot more which is need to be done. Differential Revision: https://phab.mercurial-scm.org/D1648
Sun, 10 Dec 2017 04:50:16 +0530 py3: handle keyword arguments correctly in wireproto.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:50:16 +0530] rev 35383
py3: handle keyword arguments correctly in wireproto.py Differential Revision: https://phab.mercurial-scm.org/D1647
Sun, 10 Dec 2017 04:50:03 +0530 py3: handle keyword arguments correctly in ui.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:50:03 +0530] rev 35382
py3: handle keyword arguments correctly in ui.py Differential Revision: https://phab.mercurial-scm.org/D1646
Sun, 10 Dec 2017 04:49:53 +0530 py3: handle keyword arguments correctly in templater.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:49:53 +0530] rev 35381
py3: handle keyword arguments correctly in templater.py Differential Revision: https://phab.mercurial-scm.org/D1645
Sun, 10 Dec 2017 04:49:40 +0530 py3: handle keyword arguments correctly in subrepo.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:49:40 +0530] rev 35380
py3: handle keyword arguments correctly in subrepo.py Differential Revision: https://phab.mercurial-scm.org/D1644
Sun, 10 Dec 2017 04:49:29 +0530 py3: handle keyword arguments correctly in statprof.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:49:29 +0530] rev 35379
py3: handle keyword arguments correctly in statprof.py Differential Revision: https://phab.mercurial-scm.org/D1643
Sun, 10 Dec 2017 04:48:59 +0530 py3: handle keyword arguments correctly in sslutil.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:48:59 +0530] rev 35378
py3: handle keyword arguments correctly in sslutil.py Differential Revision: https://phab.mercurial-scm.org/D1642
Sun, 10 Dec 2017 04:48:24 +0530 py3: handle keyword arguments correctly in simplemerge.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:48:24 +0530] rev 35377
py3: handle keyword arguments correctly in simplemerge.py Differential Revision: https://phab.mercurial-scm.org/D1641
Sun, 10 Dec 2017 04:48:12 +0530 py3: handle keyword arguments correctly in revset.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:48:12 +0530] rev 35376
py3: handle keyword arguments correctly in revset.py Differential Revision: https://phab.mercurial-scm.org/D1640
Sun, 10 Dec 2017 04:48:00 +0530 py3: handle keyword arguments correctly in patch.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:48:00 +0530] rev 35375
py3: handle keyword arguments correctly in patch.py Differential Revision: https://phab.mercurial-scm.org/D1639
Sun, 10 Dec 2017 04:47:49 +0530 py3: handle keyword arguments correctly in obsolete.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:47:49 +0530] rev 35374
py3: handle keyword arguments correctly in obsolete.py Differential Revision: https://phab.mercurial-scm.org/D1638
Sun, 10 Dec 2017 04:47:34 +0530 py3: handle keyword arguments correctly in keepalive.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:47:34 +0530] rev 35373
py3: handle keyword arguments correctly in keepalive.py Differential Revision: https://phab.mercurial-scm.org/D1637
Fri, 08 Dec 2017 00:18:30 -0500 lfs: restore the local blob store after a repo upgrade
Matt Harbison <matt_harbison@yahoo.com> [Fri, 08 Dec 2017 00:18:30 -0500] rev 35372
lfs: restore the local blob store after a repo upgrade This also ends up testing the local extension wrapping for dstrepo during upgrade, which was fixed in 06987c6971be.
Thu, 07 Dec 2017 23:44:06 -0500 lfs: override walk() in lfsvfs
Matt Harbison <matt_harbison@yahoo.com> [Thu, 07 Dec 2017 23:44:06 -0500] rev 35371
lfs: override walk() in lfsvfs In order to fix the missing lfs store after an upgrade, I attempted to walk the store vfs to hardlink to the upgraded repo's store. But the custom join() clashes with the default walk() implementation. First, 'path=None' blew up in the regex matcher, because it wanted a string. But even if that is fixed, the join to walk the root of the vfs wouldn't match the required xx/xx...xx pattern. The first cut of this was a copy/paste/tweak of the base implementation, but this version of walk() hides the internal directories, and treats the vfs as a flat store. I think this makes sense because most vfs methods call join() on input paths, which wants the simple oid format. It also relieves the caller from having to deal with bogus files/directories in the store.
Thu, 07 Dec 2017 22:36:31 -0500 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com> [Thu, 07 Dec 2017 22:36:31 -0500] rev 35370
tests: add coverage for preserving 'lfs' requirement on repo upgrade The test also shows that the local blob store is erroneously lost.
Thu, 07 Dec 2017 22:35:19 -0500 test-upgrade-repo: glob away timing values
Matt Harbison <matt_harbison@yahoo.com> [Thu, 07 Dec 2017 22:35:19 -0500] rev 35369
test-upgrade-repo: glob away timing values
Sun, 10 Dec 2017 04:47:21 +0530 py3: handle keyword arguments correctly in httppeer.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:47:21 +0530] rev 35368
py3: handle keyword arguments correctly in httppeer.py Differential Revision: https://phab.mercurial-scm.org/D1635
Sun, 10 Dec 2017 04:47:04 +0530 py3: handle keyword arguments correctly in httpconnection.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:47:04 +0530] rev 35367
py3: handle keyword arguments correctly in httpconnection.py Differential Revision: https://phab.mercurial-scm.org/D1634
Sun, 10 Dec 2017 04:46:50 +0530 py3: handle keyword arguments correctly in hook.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:46:50 +0530] rev 35366
py3: handle keyword arguments correctly in hook.py Differential Revision: https://phab.mercurial-scm.org/D1633
Sun, 10 Dec 2017 04:46:39 +0530 py3: handle keyword arguments correctly in help.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:46:39 +0530] rev 35365
py3: handle keyword arguments correctly in help.py Differential Revision: https://phab.mercurial-scm.org/D1632
Sun, 10 Dec 2017 04:46:25 +0530 py3: handle keyword arguments correctly in exchange.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:46:25 +0530] rev 35364
py3: handle keyword arguments correctly in exchange.py Differential Revision: https://phab.mercurial-scm.org/D1631
Sun, 10 Dec 2017 04:46:13 +0530 py3: handle keyword arguments correctly in dispatch.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:46:13 +0530] rev 35363
py3: handle keyword arguments correctly in dispatch.py Differential Revision: https://phab.mercurial-scm.org/D1630
Sun, 10 Dec 2017 04:45:56 +0530 py3: handle keyword arguments correctly in context.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:45:56 +0530] rev 35362
py3: handle keyword arguments correctly in context.py Differential Revision: https://phab.mercurial-scm.org/D1629
Sun, 10 Dec 2017 04:45:41 +0530 py3: handle keyword arguments correctly in commands.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:45:41 +0530] rev 35361
py3: handle keyword arguments correctly in commands.py Differential Revision: https://phab.mercurial-scm.org/D1628
Sun, 10 Dec 2017 04:45:27 +0530 py3: handle keyword arguments correctly in color.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:45:27 +0530] rev 35360
py3: handle keyword arguments correctly in color.py Differential Revision: https://phab.mercurial-scm.org/D1627
Sun, 10 Dec 2017 04:45:10 +0530 py3: handle keyword arguments correctly in cmdutil.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:45:10 +0530] rev 35359
py3: handle keyword arguments correctly in cmdutil.py Differential Revision: https://phab.mercurial-scm.org/D1626
Sun, 10 Dec 2017 04:43:41 +0530 py3: handle keyword arguments correctly in archival.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:43:41 +0530] rev 35358
py3: handle keyword arguments correctly in archival.py Differential Revision: https://phab.mercurial-scm.org/D1625
Sun, 10 Dec 2017 02:52:48 +0530 py3: handle keyword arguments correctly in hgext/largefiles/
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 02:52:48 +0530] rev 35357
py3: handle keyword arguments correctly in hgext/largefiles/ Keys of keyword arguments must be str(unicode) on Python 3. The transformer which we use on Python 3, appends b'' in front of each string literal, so this may lead in KeyError or None return even when the key is present by we are using bytes value and it's stored in unicodes. This patch and all the similar patches handle this by either converting the keys of kwargs to bytes using 'pycompat.byteskwargs()' or adding r'' so that the transformer won't append b''. This next 23 patches follows the above mentioned way to handle keyword arguments. Differential Revision: https://phab.mercurial-scm.org/D1624
Thu, 07 Dec 2017 00:26:45 +0530 remotenames: rename related file and storage dir to logexchange
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Dec 2017 00:26:45 +0530] rev 35356
remotenames: rename related file and storage dir to logexchange This patch renames remotenames.py to logexchange.py, test-remotenames.t to test-logexchange.t. Also this patch renames the directory in which the data is stored from remotenames to logexchange. After this patch, data about bookmarks and branches from a server we pull is stored in `.hg/logexchange/(bookmarks|branches)` files. Thanks to smf for the suggestion. Differential Revision: https://phab.mercurial-scm.org/D1607
Thu, 07 Dec 2017 21:56:18 +0100 lfs: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 21:56:18 +0100] rev 35355
lfs: allow to run 'debugupgraderepo' on repo with largefiles The extensions wrap the necessary function to ensure the 'lfs' requirements won't be dropped. It is now possible to run `hg debugupgraderepo` on a repository with lfs.
Thu, 07 Dec 2017 20:27:03 +0100 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 20:27:03 +0100] rev 35354
upgrade: add a 'redeltafullall' mode We add a new mode for delta recomputation, when selected, each full text will go through the full "addrevision" mechanism again. This is slower than "redeltaall" but this gives the opportunity for extensions to trigger special logic. For example, the lfs extensions can decide to promote some revision to lfs storage during the upgrade.
Thu, 07 Dec 2017 22:37:18 +0100 upgrade: use actual filelog to convert filelog
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 22:37:18 +0100] rev 35353
upgrade: use actual filelog to convert filelog Extensions can add extra logic related to the config, so we must use the actual class. The path used needs minimal transformation for this to work.
Thu, 07 Dec 2017 18:56:10 +0100 upgrade: more standard creation of the temporary repository
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 18:56:10 +0100] rev 35352
upgrade: more standard creation of the temporary repository By using the standard path to create a repository we fill some hole in the current initialization process. The one who triggered this changeset was the lack of extensions initialization.
Thu, 07 Dec 2017 18:55:35 +0100 upgrade: use the repository 'ui' as the base for the new repository
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 18:55:35 +0100] rev 35351
upgrade: use the repository 'ui' as the base for the new repository The `repo.baseui` contains all the configuration but the one specific to the repository (so it can be used when dealing with local peer and sub- repository). However, we need the repository config to be taken into account when doing the upgrade. Otherwise, the upgrade related config that exists in the repository config won't be taken into account when performing the update. A buggy and surprising behavior. We had to work around protection set around `repo.ui.copy` since we are an uncommon case.
Thu, 07 Dec 2017 20:50:24 +0100 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 20:50:24 +0100] rev 35350
upgrade: add a test to show the repository config being ignored The upgrade process ignores the config within the repository. The next changeset fixes it, but we introduce this test before to show it actually tests our target.
Thu, 07 Dec 2017 16:50:48 +0100 upgrade: register compression as a format variants
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 16:50:48 +0100] rev 35349
upgrade: register compression as a format variants Compression is a promising vector for speedup, let us make it easier to check the compression used and upgrade existing repository.
Thu, 07 Dec 2017 16:49:24 +0100 debugformat: handle non-boolean value for variant
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 16:49:24 +0100] rev 35348
debugformat: handle non-boolean value for variant
Thu, 07 Dec 2017 16:12:32 +0100 debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 16:12:32 +0100] rev 35347
debugformat: update label depending on value difference The new label highlight areas where the repo format differs from current config or default. This should help people spot area where a repository mismatch with the expected state.
Thu, 07 Dec 2017 16:05:20 +0100 debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 16:05:20 +0100] rev 35346
debugformat: add data about the config when verbose In verbose mode, the command also displays the current configuration choice for the variant and the global Mercurial default for it.
Thu, 07 Dec 2017 16:19:46 +0100 debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 16:19:46 +0100] rev 35345
debugformat: add a 'debugformat' command The command displays basic data about all format variants registered for repo upgrades. This gives a quick way to peek into a repository format. The 'fm.write()' calls are very independent because more data will be added in later changeset. Having more separate call make the later patch clearer.
Thu, 07 Dec 2017 15:55:59 +0100 upgrade: rename 'removecldeltachain' to 'plain-cl-delta'
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 15:55:59 +0100] rev 35344
upgrade: rename 'removecldeltachain' to 'plain-cl-delta' The new naming is more descriptive of a "state" while the older one was more about "action". I'm looking into command exposing more of data about the state of the repository so "state" oriented work better there. The key has not been made public anywhere outside the debug area so it is fine to update it.
Fri, 08 Dec 2017 23:48:23 -0500 tests: glob away ' that doesn't occur on all platforms in lfs test
Augie Fackler <augie@google.com> [Fri, 08 Dec 2017 23:48:23 -0500] rev 35343
tests: glob away ' that doesn't occur on all platforms in lfs test Differential Revision: https://phab.mercurial-scm.org/D1623
Fri, 08 Dec 2017 12:44:27 -0800 rebase: extract _assignworkingcopy
Phil Cohen <phillco@fb.com> [Fri, 08 Dec 2017 12:44:27 -0800] rev 35342
rebase: extract _assignworkingcopy Slightly cleaner, and makes it easier to hook this in an extension. Differential Revision: https://phab.mercurial-scm.org/D1617
Fri, 08 Dec 2017 15:27:58 -0800 rebase: disable `inmemory` if the rebaseset contains the working copy
Phil Cohen <phillco@fb.com> [Fri, 08 Dec 2017 15:27:58 -0800] rev 35341
rebase: disable `inmemory` if the rebaseset contains the working copy As described in the comment, rebasing the working copy parent with in-memory merge, and then updating to the new commit, isn't much faster because of the extra overhead of uppdating. Best to leave it off in that case. This commit makes deploying in-memory merge via an extension easier, because you can just set `inmemory=True` based on some config or probability, and this will turn off the cases where it's not desired. Differential Revision: https://phab.mercurial-scm.org/D1616
Wed, 06 Dec 2017 06:40:27 +0530 clone: add support for storing remotenames while cloning
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Dec 2017 06:40:27 +0530] rev 35340
clone: add support for storing remotenames while cloning If `experimental.remotenames` is set to True, we store the remotenames in case of `hg pull`. This patch adds that support to clone command also. Differential Revision: https://phab.mercurial-scm.org/D1601
Fri, 08 Dec 2017 14:20:34 -0800 revset: use phasecache.getrevset to calculate public()
Jun Wu <quark@fb.com> [Fri, 08 Dec 2017 14:20:34 -0800] rev 35339
revset: use phasecache.getrevset to calculate public() Other revsets like secret(), draft(), _nonpublic() are using phasescache.getrevset already. The latter is more efficient after D1606. So let's migrate the public() revset function too. Tested using: $ hg debugshell --hidden --cwd hg-committed` In [1]: %timeit len(repo.revs('public()')) * Before D1606: 10 loops, best of 3: 22.5 ms per loop * Before this change, after D1606: 10 loops, best of 3: 28.6 ms per loop * After this change: 10 loops, best of 3: 20.2 ms per loop Therefore `public()` revset becomes even slightly faster after the data structure change by D1606. A similar performance win could also be observed on a large repo. A side effect is `phasecache.getrevset` needs to take a `subset` parameter. That was added with a default value so it won't cause BC issues. Differential Revision: https://phab.mercurial-scm.org/D1620
Fri, 08 Dec 2017 16:14:19 -0500 highlight: eagerly discover plugin lexers while demandimport is off
Augie Fackler <augie@google.com> [Fri, 08 Dec 2017 16:14:19 -0500] rev 35338
highlight: eagerly discover plugin lexers while demandimport is off Since highlight is only relevant for servers, it seems worthwhile to just trigger this eagerly, which avoids really weird traceback problems caused by demandimport messing with some of the lexer plugins. Differential Revision: https://phab.mercurial-scm.org/D1619
Fri, 08 Dec 2017 17:20:11 +0900 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net> [Fri, 08 Dec 2017 17:20:11 +0900] rev 35337
patch: move part of tabsplitter logic in _inlinediff It cannot be entirely moved within _inlinediff as long as worddiff is experimental (when turned off, matches is always an empty dict).
Thu, 07 Dec 2017 16:07:06 -0800 overlayworkingctx: invalidate the manifest cache when changing parents
Phil Cohen <phillco@fb.com> [Thu, 07 Dec 2017 16:07:06 -0800] rev 35336
overlayworkingctx: invalidate the manifest cache when changing parents This fixes problems noticeable when rebasing several commits into one destination commit using ``--collapse``. The manifest cache needs to be cleared each time. Differential Revision: https://phab.mercurial-scm.org/D1244
Thu, 07 Dec 2017 16:07:06 -0800 overlayworkingctx: add `_compact()`
Phil Cohen <phillco@fb.com> [Thu, 07 Dec 2017 16:07:06 -0800] rev 35335
overlayworkingctx: add `_compact()` Alas, presence of a key in the cache isn't sufficient evidence that the file is actually dirty. Differential Revision: https://phab.mercurial-scm.org/D1243
Thu, 07 Dec 2017 22:26:07 -0800 overlayworkingctx: add ``tomemctx()``
Phil Cohen <phillco@fb.com> [Thu, 07 Dec 2017 22:26:07 -0800] rev 35334
overlayworkingctx: add ``tomemctx()`` Differential Revision: https://phab.mercurial-scm.org/D1242
Thu, 07 Dec 2017 16:07:06 -0800 overlayworkingctx: add _auditconflicts to write()
Phil Cohen <phillco@fb.com> [Thu, 07 Dec 2017 16:07:06 -0800] rev 35333
overlayworkingctx: add _auditconflicts to write() Alas, part of Mercurial's conflict detection (for file<->folder conflicts, for example) depends on the filesystem. We don't have the filesystem with IMM, so we have to run these checks ourselves. Differential Revision: https://phab.mercurial-scm.org/D1241
Thu, 07 Dec 2017 16:07:06 -0800 overlayworkingctx: inherit from committablectx instead of workingctx
Phil Cohen <phillco@fb.com> [Thu, 07 Dec 2017 16:07:06 -0800] rev 35332
overlayworkingctx: inherit from committablectx instead of workingctx We should find a better name for this context at some point. (mutablememctx?) Differential Revision: https://phab.mercurial-scm.org/D1240
Thu, 07 Dec 2017 16:07:06 -0800 overlayworkingctx: add a no-op ``clearunknown()``
Phil Cohen <phillco@fb.com> [Thu, 07 Dec 2017 16:07:06 -0800] rev 35331
overlayworkingctx: add a no-op ``clearunknown()`` We no longer inherit ``workingctx``'s version, but we also don't need to do anything anymore. Differential Revision: https://phab.mercurial-scm.org/D1239
Thu, 07 Dec 2017 16:07:06 -0800 overlayworkingctx: add _manifest, files(), added(), removed(), modified()
Phil Cohen <phillco@fb.com> [Thu, 07 Dec 2017 16:07:06 -0800] rev 35330
overlayworkingctx: add _manifest, files(), added(), removed(), modified() Differential Revision: https://phab.mercurial-scm.org/D1238
Fri, 08 Dec 2017 12:14:38 -0800 rebase: rerun a rebase on-disk if IMM merge conflicts arise
Phil Cohen <phillco@fb.com> [Fri, 08 Dec 2017 12:14:38 -0800] rev 35329
rebase: rerun a rebase on-disk if IMM merge conflicts arise Differential Revision: https://phab.mercurial-scm.org/D1249
(0) -30000 -10000 -3000 -1000 -300 -100 -64 +64 +100 +300 +1000 +3000 +10000 tip