Matt Harbison <matt_harbison@yahoo.com> [Sun, 23 Dec 2018 01:05:20 -0500] rev 41049
exthelper: correct a documentation typo
Matt Harbison <matt_harbison@yahoo.com> [Tue, 27 Nov 2018 22:10:07 -0500] rev 41048
lfs: convert to using exthelper to wrap functions
I'm not 100% sure that upgraderequirements() can be double annotated safely, but
it seems OK based on printing the address of the function being wrapped.
One thing I've noticed is that @eh.reposetup doesn't do the usual check to
ensure that it's a local repo. Should that be baked into @eh.reposetup()
somehow, possibly with a non-default option to skip the check? It seems like a
gaping hole if every function that gets registered needs to add this check.
Matt Harbison <matt_harbison@yahoo.com> [Fri, 30 Nov 2018 21:39:55 -0500] rev 41047
tests: convert a test extension to use exthelper
This provides test coverage to uipopulate().
Matt Harbison <matt_harbison@yahoo.com> [Sat, 22 Dec 2018 22:44:24 -0500] rev 41046
exthelper: drop fileset/revset/template support for now
Yuya raised concerns about duplicating registrar functionality. There are a
couple of ideas to work around this, which would allow bringing them back, and
then backporting to evolve. For now, I just want to get the subsequent changes
landed before the bulk b'' rewrite makes rebasing too hard.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 22 Dec 2018 22:26:36 -0500] rev 41045
exthelper: simplify configitem registration
Matt Harbison <matt_harbison@yahoo.com> [Sat, 22 Dec 2018 21:06:24 -0500] rev 41044
extensions: import the exthelper class from evolve
980565468003 (API)
This should help make extensions that wrap a lot of stuff more comprehendible.
It was copied unmodified, except:
- fix up the imports
- rename final_xxxsetup() -> finalxxxsetup() to appease checkcode
- avoid a [] default arg to wrapcommand()
.. api::
Add `exthelper` class to simplify extension writing by allowing functions,
commands, and configitems to be registered via annotations. The previous
APIs are still available for use.
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