Martin von Zweigbergk <martinvonz@google.com> [Wed, 23 Sep 2020 09:21:26 -0700] rev 45547
rebase: when collapsing, p1 == dest, so use the former only
`dest` is the destination we're rebasing onto, which is always the
same as `p1` when using `--collapse`. This lets us simplify a bit.
Differential Revision: https://phab.mercurial-scm.org/D9073
Martin von Zweigbergk <martinvonz@google.com> [Fri, 18 Sep 2020 15:37:03 -0700] rev 45546
rebase: remove redundant isinmemory argument from _origrebase()
The argument is redundant with `rbst.inmemory`, which makes it unclear
what to do if they were somehow different.
Differential Revision: https://phab.mercurial-scm.org/D9070
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Sep 2020 23:18:37 -0700] rev 45545
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
Martin von Zweigbergk <martinvonz@google.com> [Mon, 21 Sep 2020 09:56:48 -0700] rev 45544
merge: add a back_out() function to encapsulate update()
I've sent several earlier patches adding `merge.clean_update()`,
`merge.merge()` etc, one function for each use case. This patch
continues that work. I plan to hide the complex `update()` eventually.
Differential Revision: https://phab.mercurial-scm.org/D9064
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 18 Sep 2020 17:19:49 +0530] rev 45543
tests: update test-share-safe to work with non-zstd versions
zstd is not available always like pure py versions. Hence we wrap that part
around `#if zstd`. To make sure the functionality is tested on pure version
as well, I have added another requirement addition test.
Differential Revision: https://phab.mercurial-scm.org/D9045
Antoine Cezar <antoine.cezar@octobus.net> [Tue, 15 Sep 2020 16:51:11 +0200] rev 45542
rhg: add a limited `rhg cat -r` subcommand
It only supports revision specification (rev or full hash) and the list of files
to cat.
Differential Revision: https://phab.mercurial-scm.org/D9052
Antoine Cezar <antoine.cezar@octobus.net> [Fri, 11 Sep 2020 17:32:53 +0200] rev 45541
hg-core: add a `CatRev` operation
Differential Revision: https://phab.mercurial-scm.org/D9051
Antoine Cezar <antoine.cezar@octobus.net> [Tue, 15 Sep 2020 16:46:57 +0200] rev 45540
hg-core: add `files_with_nodes` to `Manifest`
Differential Revision: https://phab.mercurial-scm.org/D9050
Antoine Cezar <antoine.cezar@octobus.net> [Tue, 15 Sep 2020 16:45:27 +0200] rev 45539
hg-core: add path_encode
Differential Revision: https://phab.mercurial-scm.org/D9049
Antoine Cezar <antoine.cezar@octobus.net> [Tue, 15 Sep 2020 10:52:28 +0200] rev 45538
hg-core: impl TryFrom<PathBuff> for HgPathBuf
Differential Revision: https://phab.mercurial-scm.org/D9048