Mercurial > public > mercurial-scm > evolve
diff hgext/evolve.py @ 892:947fb5b1915b stable
evolve: active bookmark should move when using prev/next (#37)
The #37 references the bitbucket issue for mutable-history, that
can be found here:
https://bitbucket.org/marmoute/mutable-history/issue/37/
author | Olle Lundberg <geek@nerd.sh> |
---|---|
date | Wed, 26 Mar 2014 23:58:45 +0100 |
parents | 36c1c80e99a3 |
children | 12ed6dfa8eea |
line wrap: on
line diff
--- a/hgext/evolve.py Thu Apr 03 23:36:23 2014 -0700 +++ b/hgext/evolve.py Wed Mar 26 23:58:45 2014 +0100 @@ -1277,7 +1277,12 @@ displayer = cmdutil.show_changeset(ui, repo, {'template': shorttemplate}) if len(parents) == 1: p = parents[0] - hg.update(repo, p.rev()) + bm = bookmarks.readcurrent(repo) + shouldmove = bm is not None and bookmarks.iscurrent(repo, bm) + ret = hg.update(repo, p.rev()) + if not ret and shouldmove: + repo._bookmarks[bm] = p.node() + repo._bookmarks.write() displayer.show(p) return 0 else: @@ -1303,7 +1308,12 @@ return 1 if len(children) == 1: c = children[0] - hg.update(repo, c.rev()) + bm = bookmarks.readcurrent(repo) + shouldmove = bm is not None and bookmarks.iscurrent(repo, bm) + ret = hg.update(repo, c.rev()) + if not ret and shouldmove: + repo._bookmarks[bm] = c.node() + repo._bookmarks.write() displayer.show(c) return 0 else: