Mercurial > hg
changeset 7817:cb516e788238
bookmarks: fixes bug where a deleted bookmark may still be treated as current when track.current option is set
author | Alex Unden <alu@zpuppet.org> |
---|---|
date | Fri, 27 Feb 2009 02:01:45 -0800 |
parents | f420eafe59cd |
children | b6b9065c20b3 |
files | hgext/bookmarks.py tests/test-bookmarks-current tests/test-bookmarks-current.out |
diffstat | 3 files changed, 19 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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