Martin von Zweigbergk <martinvonz@google.com> [Fri, 21 Dec 2018 10:13:49 -0800] rev 41043
narrow: detect if narrowspec was changed in a different share
With this commit, `hg share` should be usable with narrow
repos. Design explained on
https://www.mercurial-scm.org/wiki/NarrowSharePlan
I was running into cache invalidation problems when updating the
narrowspec. After spending a day trying to figure out a good solution,
I resorted to just assigning repo.narrowpats and repo._narrowmatch
after invalidating them.
Differential Revision: https://phab.mercurial-scm.org/D5278
Martin von Zweigbergk <martinvonz@google.com> [Fri, 13 Jul 2018 11:26:46 -0700] rev 41042
tests: add test for narrow+share
For how narrow+share is supposed to work, see
https://www.mercurial-scm.org/wiki/NarrowSharePlan.
Differential Revision: https://phab.mercurial-scm.org/D5276
Martin von Zweigbergk <martinvonz@google.com> [Mon, 10 Dec 2018 10:39:48 -0800] rev 41041
narrow: keep narrowspec backup in store
As suggested by Yuya in review of D4099.
Differential Revision: https://phab.mercurial-scm.org/D5470
Martin von Zweigbergk <martinvonz@google.com> [Sat, 27 Oct 2018 22:56:31 -0700] rev 41040
tests: update narrowspec when narrowspec, not dirstate, is accessed
test-narrow-expanddirstate.t mimics a Google-internal extension that
updates the narrowspec whenever the dirstate is accessed. Since
1d09ba0d2ed3 (narrow: move remaining narrow-limited dirstate walks to
core, 2018-10-01) and a few commits before it, we no longer restrict
repo.dirstate.walk() to the narrowspec. It is instead done at a higher
level (e.g. context.status()). We were running into problems with the
Google-internal extension when importing those commits. The issue was
that the narrowspec was read before the first dirstate access. I
believe the right fix is to instead update the narrowspec when trying
to read it (not when reading the dirstate), so that's what this patch
does.
Differential Revision: https://phab.mercurial-scm.org/D5275
Martin von Zweigbergk <martinvonz@google.com> [Fri, 21 Dec 2018 09:48:30 -0800] rev 41039
merge: extract helper for creating empty "actions" dict
Replicating the set of actions in multiple places is bad.
Differential Revision: https://phab.mercurial-scm.org/D5472
Martin von Zweigbergk <martinvonz@google.com> [Mon, 03 Dec 2018 22:22:23 -0800] rev 41038
manifest: accept narrowmatch into constructor instead of getting from repo
The manifest should ideally not know at all about the repo, so this is
just a little step towards cleaning that up.
Differential Revision: https://phab.mercurial-scm.org/D5469
Matt Harbison <matt_harbison@yahoo.com> [Sat, 22 Dec 2018 00:05:39 -0500] rev 41037
py3: byteify one more sys.argv in gendoc.py
Boris Feld <boris.feld@octobus.net> [Wed, 19 Dec 2018 15:45:29 +0100] rev 41036
test: introduce a new flag to display env variable line per line
It's easier to conditionalize some of the environment variables per Mercurial
version once there is only one value per line.
Differential Revision: https://phab.mercurial-scm.org/D5453
Boris Feld <boris.feld@octobus.net> [Fri, 21 Dec 2018 05:08:32 +0100] rev 41035
revlog: add an explicit test for `issnapshot`
We test the method on a real revlog containing "real" data.
Boris Feld <boris.feld@octobus.net> [Thu, 20 Dec 2018 12:17:15 +0100] rev 41034
revlog: add some direct testing of the slicing logic
This test check slicing backed by an actual revlog. It will test the C version
of slicing (if the test are run with the C extensions).