Martin von Zweigbergk <martinvonz@google.com> [Thu, 02 Aug 2018 14:57:20 -0700] rev 38872
narrow: move .hg/narrowspec to .hg/store/narrowspec (BC)
The narrowspec is more closely related to the store than to the
working copy. For example, if the narrowspec changes, the set of
revlogs also needs to change (the working copy may change, but that
depends on which commit is checked out). Also, when using the share
extension, the narrowspec needs to be shared along with the
store. This patch therefore moves the narrowspec into the store/
directory.
This is clearly a breaking change, but I haven't bothered trying to
fall back to reading the narrowspec from the old location (.hg/),
because there are very few users of narrow out there. (We'll add a
temporary hack to our Google-internal extension to handle the
migration.)
Differential Revision: https://phab.mercurial-scm.org/D4099
Martin von Zweigbergk <martinvonz@google.com> [Fri, 03 Aug 2018 13:53:02 -0700] rev 38871
narrow: drop checkambig=True when restoring backup
IIUC, checkambig is about updating timestamps of the file while
renaming. That's important for the dirstate, but we never check the
timestamp of the narrowspec file. We can therefore avoid checking
passing checkambig=True.
Differential Revision: https://phab.mercurial-scm.org/D4098
Martin von Zweigbergk <martinvonz@google.com> [Thu, 02 Aug 2018 14:30:40 -0700] rev 38870
narrow: remove a repo file-cache invalidation
It's unclear why this was needed. All tests pass without it. I asked
Kyle Lippincott (who added the check) and he also doesn't remember
what it was for.
Differential Revision: https://phab.mercurial-scm.org/D4097
Martin von Zweigbergk <martinvonz@google.com> [Fri, 03 Aug 2018 11:09:41 -0700] rev 38869
narrow: call narrowspec.{save,restore,clear}backup directly
I want to move .hg/narrowspec to .hg/store/narrowspec and we need to
decouple the narrowspec update from the dirstate update for that. This
patch lets the callers call the narrowspec backup functions directly,
in addition to the dirstate backup functions. The narrowspec methods
are made to check if narrowing is enabled. For that, a repo instance
was needed, which all the callers luckily already had available.
Differential Revision: https://phab.mercurial-scm.org/D4096