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.
--- 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
+