diff --git a/mercurial/context.py b/mercurial/context.py index 082fc4abdc31e7138a3c03decf922e5a32d1f1ee_bWVyY3VyaWFsL2NvbnRleHQucHk=..81936f6462c184ea9078a589daa72922153be575_bWVyY3VyaWFsL2NvbnRleHQucHk= 100644 --- a/mercurial/context.py +++ b/mercurial/context.py @@ -1447,13 +1447,12 @@ """ - 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() + with self._repo.dirstate.parentchange(): + 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) # write changes out explicitly, because nesting wlock at # runtime may prevent 'wlock.release()' in 'repo.commit()'