diff mercurial/bookmarks.py @ 14266:89e7d35e0ef0 stable

fix bookmarks rollback behavior Before this patch undo.bookmarks was created on bookmarks write and not with other transaction-related files. There were two issues: first is that if you have changed bookmarks few times after a transaction happened, rollback will give you a state which can point to non-existing revision. Second is that if you have not changed bookmarks after a transaction, rollback will touch your state anyway. This change also adds `localrepo._writejournal` method, which can be used by other extensions to save their transaction-related backup in right time.
author Alexander Solovyov <alexander@solovyov.net>
date Sun, 01 May 2011 13:07:00 +0200
parents 71a96f6c205d
children a55a0045704c
line wrap: on
line diff
--- a/mercurial/bookmarks.py	Fri May 06 15:37:38 2011 +0300
+++ b/mercurial/bookmarks.py	Sun May 01 13:07:00 2011 +0200
@@ -61,12 +61,6 @@
     '''
     refs = repo._bookmarks
 
-    try:
-        bms = repo.opener('bookmarks').read()
-    except IOError:
-        bms = ''
-    repo.opener('undo.bookmarks', 'w').write(bms)
-
     if repo._bookmarkcurrent not in refs:
         setcurrent(repo, None)
     for mark in refs.keys():