# HG changeset patch # User Augie Fackler # Date 2011-10-12 16:09:57 # Node ID 7196ed7a150534d29c159b9cb68461325bd7ee67 # Parent 4fae5df4b1bb1969bb90b1f156b49cd401ecabe5 bookmarks: delegate writing to the repo just like reading This makes it easier for alternate storage backends to not use flat files for bookmarks storage. 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)