diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py --- a/mercurial/bookmarks.py +++ b/mercurial/bookmarks.py @@ -146,7 +146,7 @@ def update(repo, parents, node): marks[mark] = new.node() update = True if update: - write(repo) + repo._writebookmarks(marks) def listbookmarks(repo): # We may try to list bookmarks on a repo type that does not diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -167,6 +167,9 @@ class localrepository(repo.repository): def _bookmarkcurrent(self): return bookmarks.readcurrent(self) + def _writebookmarks(self, marks): + bookmarks.write(self) + @filecache('00changelog.i', True) def changelog(self): c = changelog.changelog(self.sopener)