--- a/hgext/bookmarks.py Thu Sep 23 11:41:27 2010 +0200
+++ b/hgext/bookmarks.py Fri Sep 24 00:03:58 2010 +0200
@@ -224,6 +224,7 @@
in the .hg/bookmarks file.
Read the file and return a (name=>nodeid) dictionary
'''
+ self._loadingbookmarks = True
try:
bookmarks = {}
for line in self.opener('bookmarks'):
@@ -231,6 +232,7 @@
bookmarks[refspec] = super(bookmark_repo, self).lookup(sha)
except:
pass
+ self._loadingbookmarks = False
return bookmarks
@util.propertycache
@@ -257,8 +259,9 @@
return super(bookmark_repo, self).rollback(*args)
def lookup(self, key):
- if key in self._bookmarks:
- key = self._bookmarks[key]
+ if not getattr(self, '_loadingbookmarks', False):
+ if key in self._bookmarks:
+ key = self._bookmarks[key]
return super(bookmark_repo, self).lookup(key)
def _bookmarksupdate(self, parents, node):
@@ -357,7 +360,8 @@
def _findtags(self):
"""Merge bookmarks with normal tags"""
(tags, tagtypes) = super(bookmark_repo, self)._findtags()
- tags.update(self._bookmarks)
+ if not getattr(self, '_loadingbookmarks', False):
+ tags.update(self._bookmarks)
return (tags, tagtypes)
if hasattr(repo, 'invalidate'):