evolve: current bookmark wrongly moving during prune (issue4559) stable
authorLaurent Charignon <lcharignon@fb.com>
Wed, 13 May 2015 08:47:27 -0700
branchstable
changeset 1335 50a40a8cf7be
parent 1330 efb75f4d55aa
child 1337 1c8fbaf9306b
evolve: current bookmark wrongly moving during prune (issue4559) Before this patch: prune -r <otherbookmark> also moved the current bookmark eventhough it was not related to the pruned changes. This patch fixes it and adds a test to catch regressions.
hgext/evolve.py
tests/test-prune.t
--- a/hgext/evolve.py	Thu May 07 13:20:11 2015 -0700
+++ b/hgext/evolve.py	Wed May 13 08:47:27 2015 -0700
@@ -863,12 +863,8 @@
     """Return a callable update(newid) updating the current bookmark
     and bookmarks bound to oldid to newid.
     """
-    bm = bmactive(repo)
     def updatebookmarks(newid):
         dirty = False
-        if bm:
-            repo._bookmarks[bm] = newid
-            dirty = True
         oldbookmarks = repo.nodebookmarks(oldid)
         if oldbookmarks:
             for b in oldbookmarks:
--- a/tests/test-prune.t	Thu May 07 13:20:11 2015 -0700
+++ b/tests/test-prune.t	Wed May 13 08:47:27 2015 -0700
@@ -288,3 +288,45 @@
           longer length:              1
           median length:              1
           mean length:                1
+
+  $ mkcommit rg
+  created new head
+  $ hg bookmark rg
+  $ hg up 10
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  (leaving bookmark rg)
+  $ hg bookmark r10
+  $ hg log -G
+  o  11:cd0038e05e1b[rg] (stable/draft) add rg
+  |
+  | @  10:ff43616e5d0f[B r10] (stable/draft) r10
+  |/
+  o  8:d62d843c9a01[] (stable/draft) r8
+  |
+  o  7:e7d9710d9fc6[] (stable/draft) r7
+  |
+  o    3:2b6d669947cd[] (stable/draft) r3
+  |\
+  | o  2:fa942426a6fd[] (stable/draft) r2
+  | |
+  o |  1:66f7d451a68b[] (stable/draft) r1
+  |/
+  o  0:1ea73414a91b[] (stable/draft) r0
+  
+  $ hg prune 11
+  1 changesets pruned
+  $ hg log -G
+  @  10:ff43616e5d0f[B r10] (stable/draft) r10
+  |
+  o  8:d62d843c9a01[rg] (stable/draft) r8
+  |
+  o  7:e7d9710d9fc6[] (stable/draft) r7
+  |
+  o    3:2b6d669947cd[] (stable/draft) r3
+  |\
+  | o  2:fa942426a6fd[] (stable/draft) r2
+  | |
+  o |  1:66f7d451a68b[] (stable/draft) r1
+  |/
+  o  0:1ea73414a91b[] (stable/draft) r0
+