# HG changeset patch # User Dan Villiom Podlaski Christiansen # Date 1389263595 -3600 # Node ID 32915143d448f8dadb1f6ea2132f041ec79b2351 # Parent cac35bef8aeeb5e794b920f698af26ff37a5166a prune: update to successor rather than parent when prune '.' diff -r cac35bef8aee -r 32915143d448 README --- a/README Fri May 09 03:06:36 2014 -0700 +++ b/README Thu Jan 09 11:33:15 2014 +0100 @@ -52,6 +52,7 @@ - fix a bug where evolve were creating changeset with 2 parents on windows (fix issues #16, #35 and #42) - adds a --obsolete flag to import (requieres Mercurial 3.0) +- prune: update to successor rather than parent when pruning '.' with -s 3.3.1 -- 2014-04-23 diff -r cac35bef8aee -r 32915143d448 hgext/evolve.py --- 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) diff -r cac35bef8aee -r 32915143d448 tests/test-prune.t --- a/tests/test-prune.t Fri May 09 03:06:36 2014 -0700 +++ b/tests/test-prune.t Thu Jan 09 11:33:15 2014 +0100 @@ -115,8 +115,12 @@ one old, one new + $ hg up 'desc("add ee")' + 4 files updated, 0 files merged, 4 files removed, 0 files unresolved $ hg prune 'desc("add ee")' -s 'desc("add nE")' 1 changesets pruned + 4 files updated, 0 files merged, 4 files removed, 0 files unresolved + working directory now at 6e8148413dd5 $ hg debugobsolete 9d206ffc875e1bc304590549be293be36821e66c 0 {'date': '314064000 0', 'user': 'blah'} (glob) 7c3bad9141dcb46ff89abf5f61856facd56e476c 0 {'date': '*', 'user': 'test'} (glob) @@ -257,4 +261,3 @@ $ hg id -ir 6:2702dd0c91e7 abort: unknown revision '2702dd0c91e7'! [255] -