changeset 1290:aa7cdd9d7310 stable

evolve: explicitly disable bookmark on evolve (issue4432) We no longer leave the current bookmark active after an evolve, since it is no longer pointing to the working directory.
author Tyrone Nicholas <tnicholas@fb.com>
date Tue, 27 Jan 2015 16:07:57 +0000
parents 583f7f03434b
children 0d15d461a316
files hgext/evolve.py tests/test-evolve.t
diffstat 2 files changed, 21 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/evolve.py
+++ b/hgext/evolve.py
@@ -805,6 +805,10 @@
         try:
             if repo['.'].rev() != dest.rev():
                 merge.update(repo, dest, False, True, False)
+            if repo._bookmarkcurrent:
+                repo.ui.status(_("(leaving bookmark %s)\n") %
+                               repo._bookmarkcurrent)
+            bookmarks.unsetcurrent(repo)
             if keepbranch:
                 repo.dirstate.setbranch(orig.branch())
             r = merge.graft(repo, orig, orig.p1(), ['local', 'graft'])
--- a/tests/test-evolve.t
+++ b/tests/test-evolve.t
@@ -859,3 +859,20 @@
   nothing to evolve here
   (2 troubled changesets, do you want --any ?)
   [2]
+
+
+Evolve disables active bookmarks.
+
+  $ hg up 10
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg bookmark testbookmark
+  $ ls .hg/bookmarks*
+  .hg/bookmarks
+  .hg/bookmarks.current
+  $ hg evolve
+  move:[8] a2
+  atop:[10] a1__
+  (leaving bookmark testbookmark)
+  working directory is now at f37ed7a60f43
+  $ ls .hg/bookmarks*
+  .hg/bookmarks