# HG changeset patch # User Benoit Boissinot # Date 2008-12-31 14:04:18 # Node ID a9221c7f51a4a38a2f362799b2d2c5819ae25b61 # Parent 013a2baf8f85aa1fad87dfcf4f84b6ac70d536ce # Parent cab1cf26ca58aa42d438247b4f19180c5a2493a0 merge bookmarks diff --git a/hgext/bookmarks.py b/hgext/bookmarks.py --- a/hgext/bookmarks.py +++ b/hgext/bookmarks.py @@ -64,9 +64,9 @@ def write(repo, refs): ''' if os.path.exists(repo.join('bookmarks')): util.copyfile(repo.join('bookmarks'), repo.join('undo.bookmarks')) - file = repo.opener('bookmarks', 'w+') if current(repo) not in refs: setcurrent(repo, None) + file = repo.opener('bookmarks', 'w+') for refspec, node in refs.items(): file.write("%s %s\n" % (hex(node), refspec)) file.close() @@ -138,6 +138,8 @@ def bookmark(ui, repo, mark=None, rev=No raise util.Abort(_("new bookmark name required")) marks[mark] = marks[rename] del marks[rename] + if current(repo) == rename: + setcurrent(repo, mark) write(repo, marks) return diff --git a/tests/test-bookmarks-current b/tests/test-bookmarks-current new file mode 100755 --- /dev/null +++ b/tests/test-bookmarks-current @@ -0,0 +1,41 @@ +#!/bin/sh + +echo "[extensions]" >> $HGRCPATH +echo "bookmarks=" >> $HGRCPATH + +echo "[bookmarks]" >> $HGRCPATH +echo "track.current = True" >> $HGRCPATH + +hg init + +echo % no bookmarks +hg bookmarks + +echo % set bookmark X +hg bookmark X + +echo % update to bookmark X +hg update X + +echo % list bookmarks +hg bookmarks + +echo % rename +hg bookmark -m X Z + +echo % list bookmarks +hg bookmarks + +echo % new bookmark Y +hg bookmark Y + +echo % list bookmarks +hg bookmark + +echo % commit +echo 'b' > b +hg add b +hg commit -m'test' + +echo % list bookmarks +hg bookmark diff --git a/tests/test-bookmarks-current.out b/tests/test-bookmarks-current.out new file mode 100644 --- /dev/null +++ b/tests/test-bookmarks-current.out @@ -0,0 +1,18 @@ +% no bookmarks +no bookmarks set +% set bookmark X +% update to bookmark X +0 files updated, 0 files merged, 0 files removed, 0 files unresolved +% list bookmarks + * X -1:000000000000 +% rename +% list bookmarks + * Z -1:000000000000 +% new bookmark Y +% list bookmarks + Y -1:000000000000 + * Z -1:000000000000 +% commit +% list bookmarks + Y -1:000000000000 + * Z 0:719295282060