Mercurial > hg
changeset 47605:a5701ffc10e4
sparse: make sure we adjust the dirstate at the same time as the parent
This is more correct and help our API split.
Differential Revision: https://phab.mercurial-scm.org/D11028
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 08 Jul 2021 18:59:55 +0200 |
parents | 090fc6a95e50 |
children | 26bf0b9fe78f |
files | mercurial/context.py mercurial/sparse.py |
diffstat | 2 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py Thu Jul 08 18:51:45 2021 +0200 +++ b/mercurial/context.py Thu Jul 08 18:59:55 2021 +0200 @@ -2022,13 +2022,13 @@ self._repo.dirstate.setparents(node) self._repo._quick_access_changeid_invalidate() + sparse.aftercommit(self._repo, node) + # write changes out explicitly, because nesting wlock at # runtime may prevent 'wlock.release()' in 'repo.commit()' # from immediately doing so for subsequent changing files self._repo.dirstate.write(self._repo.currenttransaction()) - sparse.aftercommit(self._repo, node) - def mergestate(self, clean=False): if clean: return mergestatemod.mergestate.clean(self._repo)
--- a/mercurial/sparse.py Thu Jul 08 18:51:45 2021 +0200 +++ b/mercurial/sparse.py Thu Jul 08 18:59:55 2021 +0200 @@ -646,7 +646,7 @@ The updated sparse config is written out and the working directory is refreshed, as needed. """ - with repo.wlock(): + with repo.wlock(), repo.dirstate.parentchange(): # read current configuration raw = repo.vfs.tryread(b'sparse') includes, excludes, profiles = parseconfig(repo.ui, raw, b'sparse')