Mercurial > public > mercurial-scm > hg
diff mercurial/localrepo.py @ 38128:1cba497491be
narrow: only wrap dirstate functions once, instead of per-reposetup
chg will call reposetup multiple times, and we would end up double-wrapping (or
worse) the dirstate functions; this can cause issues like OSError 'No such file
or directory' during rebase operations, when we go to double-delete our
narrowspec backup file.
Differential Revision: https://phab.mercurial-scm.org/D3559
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Wed, 16 May 2018 14:59:32 -0700 |
parents | 6e2259847f5f |
children | 2b8cb0ab231c |
line wrap: on
line diff
--- a/mercurial/localrepo.py Tue May 22 00:25:18 2018 +0530 +++ b/mercurial/localrepo.py Wed May 16 14:59:32 2018 -0700 @@ -778,6 +778,9 @@ @repofilecache('dirstate') def dirstate(self): + return self._makedirstate() + + def _makedirstate(self): sparsematchfn = lambda: sparse.matcher(self) return dirstate.dirstate(self.vfs, self.ui, self.root,