Mercurial > public > mercurial-scm > hg-stable
diff mercurial/repair.py @ 42656:a1f10edcf6a6 stable
strip: access bookmark before getting a reference to changelog
Bookmark access might invalidate the current changelog (to make sure both are in
a reasonable synchronisation state). So we should grab the reference to
changelog after we access bookmark. Otherwise we risk using a dead object for
the whole strip process.
(note: this dead object business probably requires a new layers of checking)
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 01 Aug 2019 16:22:47 +0200 |
parents | d811f17090a3 |
children | f59f8a5e9096 |
line wrap: on
line diff
--- a/mercurial/repair.py Thu Aug 01 15:59:52 2019 +0200 +++ b/mercurial/repair.py Thu Aug 01 16:22:47 2019 +0200 @@ -109,6 +109,9 @@ repo = repo.unfiltered() repo.destroying() vfs = repo.vfs + # load bookmark before changelog to avoid side effect from outdated + # changelog (see repo._refreshchangelog) + repo._bookmarks cl = repo.changelog # TODO handle undo of merge sets