Mercurial > hg-stable
changeset 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 | 90d8a2a42d5c |
children | e0cf09bc35ef |
files | mercurial/repair.py |
diffstat | 1 files changed, 3 insertions(+), 0 deletions(-) [+] |
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