Mercurial > public > mercurial-scm > evolve
diff hgext/evolve.py @ 931:32915143d448 stable
prune: update to successor rather than parent when prune '.'
author | Dan Villiom Podlaski Christiansen <dan@cabo.dk> |
---|---|
date | Thu, 09 Jan 2014 11:33:15 +0100 |
parents | cac35bef8aee |
children | bcd0c12070b2 e5baeb8fefec |
line wrap: on
line diff
--- a/hgext/evolve.py Fri May 09 03:06:36 2014 -0700 +++ b/hgext/evolve.py Thu Jan 09 11:33:15 2014 +0100 @@ -1487,11 +1487,19 @@ # informs that changeset have been pruned ui.status(_('%i changesets pruned\n') % len(precs)) - # update to an unkilled parent + wdp = repo['.'] - newnode = wdp - while newnode.obsolete(): - newnode = newnode.parents()[0] + + if len(sucs) == 1 and len(precs) == 1 and wdp in precs: + # '.' killed, so update to the successor + newnode = sucs[0] + else: + # update to an unkilled parent + newnode = wdp + + while newnode.obsolete(): + newnode = newnode.parents()[0] + if newnode.node() != wdp.node(): commands.update(ui, repo, newnode.rev()) ui.status(_('working directory now at %s\n') % newnode)