sparse: clear rules in the context of a `parentchanges` context
This is the same logic as the change we did for narrow.
Differential Revision: https://phab.mercurial-scm.org/D11029
--- a/mercurial/sparse.py Thu Jul 08 18:59:55 2021 +0200
+++ b/mercurial/sparse.py Thu Jul 08 19:06:32 2021 +0200
@@ -630,7 +630,7 @@
The remaining sparse config only has profiles, if defined. The working
directory is refreshed, as needed.
"""
- with repo.wlock():
+ with repo.wlock(), repo.dirstate.parentchange():
raw = repo.vfs.tryread(b'sparse')
includes, excludes, profiles = parseconfig(repo.ui, raw, b'sparse')
@@ -708,7 +708,7 @@
The new config is written out and a working directory refresh is performed.
"""
- with repo.wlock():
+ with repo.wlock(), repo.dirstate.parentchange():
raw = repo.vfs.tryread(b'sparse')
oldinclude, oldexclude, oldprofiles = parseconfig(
repo.ui, raw, b'sparse'