Mercurial > public > mercurial-scm > hg-stable
diff mercurial/context.py @ 22405:6f63c47cbb86
dirstate: wrap setparent calls with begin/endparentchange (issue4353)
This wraps all the locations of dirstate.setparent with the appropriate
begin/endparentchange calls. This will prevent exceptions during those calls
from causing incoherent dirstates (issue4353).
author | Durham Goode <durham@fb.com> |
---|---|
date | Fri, 05 Sep 2014 11:36:20 -0700 |
parents | 94f77624dbb5 |
children | 5220c12c43fd |
line wrap: on
line diff
--- a/mercurial/context.py Fri Sep 05 11:34:29 2014 -0700 +++ b/mercurial/context.py Fri Sep 05 11:36:20 2014 -0700 @@ -1173,11 +1173,13 @@ """ + self._repo.dirstate.beginparentchange() for f in self.modified() + self.added(): self._repo.dirstate.normal(f) for f in self.removed(): self._repo.dirstate.drop(f) self._repo.dirstate.setparents(node) + self._repo.dirstate.endparentchange() def dirs(self): return self._repo.dirstate.dirs()