bookmarks: fixes bug where a deleted bookmark may still be treated as current when track.current option is set
authorAlex Unden <alu@zpuppet.org>
Fri, 27 Feb 2009 02:01:45 -0800
changeset 7817 cb516e788238
parent 7816 f420eafe59cd
child 7818 b6b9065c20b3
bookmarks: fixes bug where a deleted bookmark may still be treated as current when track.current option is set
hgext/bookmarks.py
tests/test-bookmarks-current
tests/test-bookmarks-current.out
--- a/hgext/bookmarks.py	Sun Mar 01 00:30:01 2009 +0100
+++ b/hgext/bookmarks.py	Fri Feb 27 02:01:45 2009 -0800
@@ -100,7 +100,7 @@
     refs = parse(repo)
 
     # do not update if we do update to a rev equal to the current bookmark
-    if (mark not in refs and
+    if (mark and mark not in refs and
         current(repo) and refs[current(repo)] == repo.changectx('.').node()):
         return
     if mark not in refs:
@@ -146,6 +146,8 @@
             raise util.Abort(_("bookmark name required"))
         if mark not in marks:
             raise util.Abort(_("a bookmark of this name does not exist"))
+        if mark == current(repo):
+            setcurrent(repo, None)
         del marks[mark]
         write(repo, marks)
         return
--- a/tests/test-bookmarks-current	Sun Mar 01 00:30:01 2009 +0100
+++ b/tests/test-bookmarks-current	Fri Feb 27 02:01:45 2009 -0800
@@ -42,3 +42,14 @@
 
 echo % list bookmarks
 hg bookmark
+
+echo % delete bookmarks
+hg bookmark -d Y
+hg bookmark -d Z
+
+echo % list bookmarks
+hg bookmark
+
+echo % update to tip
+hg update tip
+
--- a/tests/test-bookmarks-current.out	Sun Mar 01 00:30:01 2009 +0100
+++ b/tests/test-bookmarks-current.out	Fri Feb 27 02:01:45 2009 -0800
@@ -18,3 +18,8 @@
 % list bookmarks
  * Y                         0:719295282060
    Z                         -1:000000000000
+% delete bookmarks
+% list bookmarks
+no bookmarks set
+% update to tip
+0 files updated, 0 files merged, 0 files removed, 0 files unresolved