diff hgext/evolve.py @ 1344:376d3df9f47b

Merge with stable
author Laurent Charignon <lcharignon@fb.com>
date Wed, 20 May 2015 13:23:20 -0700
parents e8e3dbddc198 16017e1bb2a1
children 14b537042245
line wrap: on
line diff
--- a/hgext/evolve.py	Thu May 14 11:32:04 2015 -0700
+++ b/hgext/evolve.py	Wed May 20 13:23:20 2015 -0700
@@ -1898,8 +1898,20 @@
                 repo.dirstate.rebuild(newnode.node(), newnode.manifest(), changedfiles)
                 repo.dirstate.write()
             else:
+                bookactive = bmactive(repo)
+                # Active bookmark that we don't want to delete (with -B option)
+                # we deactivate and move it before the update and reactivate it
+                # after
+                movebookmark = bookactive and not bookmark
+                if movebookmark:
+                    bookmarks.deactivate(repo)
+                    repo._bookmarks[bookactive] = newnode.node()
+                    repo._bookmarks.write()
                 commands.update(ui, repo, newnode.rev())
                 ui.status(_('working directory now at %s\n') % newnode)
+                if movebookmark:
+                    bookmarks.activate(repo, bookactive)
+
         # update bookmarks
         if bookmark:
             _deletebookmark(ui, marks, bookmark)