# HG changeset patch # User Sushil khanchi # Date 1560062228 -19800 # Node ID b6a7d2594ff3e6e53b16a4515f5a41f9880fadb8 # Parent 6f6fec14e607627f0decbce8f977910b6069a451 evolve: refactor for consistent behavior of evolve when wdp is obsolete This patch make sure that when working directory parent is obsolete `hg evolve` and `hg evolve --all` don't behave differently. diff -r 6f6fec14e607 -r b6a7d2594ff3 hgext3rd/evolve/evolvecmd.py --- a/hgext3rd/evolve/evolvecmd.py Sat Jun 15 17:17:19 2019 +0530 +++ b/hgext3rd/evolve/evolvecmd.py Sun Jun 09 12:07:08 2019 +0530 @@ -1632,15 +1632,11 @@ return targetcat = 'orphan' - has_some_opts = bool(revopt or anyopt or allopt or contopt or stopopt or abortopt) if 1 < len(specifiedcategories): msg = _('cannot specify more than one trouble category to solve (yet)') raise error.Abort(msg) elif len(specifiedcategories) == 1: targetcat = specifiedcategories[0] - elif repo['.'].obsolete() and not has_some_opts: - # if no args and parent is obsolete, update to successors - return solveobswdp(ui, repo, opts) ui.setconfig('ui', 'forcemerge', opts.get('tool', ''), 'evolve') @@ -1684,17 +1680,17 @@ revs = _selectrevs(repo, allopt, revopt, anyopt, targetcat) - # Case: when wdir parent is obsolete and args passed. - # Handling it here otherwise `revs` set would change, after - # performing update to successor of obsolete wdir parent. - # (in case when user passes a revset related to wdir parent '.::') + hadobswdp = False if repo['.'].obsolete(): + hadobswdp = True result = solveobswdp(ui, repo, opts) if result != 0 or result is True: # return as solving obswdp wasn't successful return result if not revs: + if hadobswdp: + return 0 return _handlenotrouble(ui, repo, allopt, revopt, anyopt, targetcat) # Progress handling diff -r 6f6fec14e607 -r b6a7d2594ff3 tests/test-evolve.t --- a/tests/test-evolve.t Sat Jun 15 17:17:19 2019 +0530 +++ b/tests/test-evolve.t Sun Jun 09 12:07:08 2019 +0530 @@ -1442,7 +1442,6 @@ update:[1] added a 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory is now at ab832e43dd5a - no troubled changesets $ hg log -GT "{rev}:{node|short} {desc} ({bookmarks})\n" --hidden @ 1:ab832e43dd5a added a (book) diff -r 6f6fec14e607 -r b6a7d2594ff3 tests/test-tutorial.t --- a/tests/test-tutorial.t Sat Jun 15 17:17:19 2019 +0530 +++ b/tests/test-tutorial.t Sun Jun 09 12:07:08 2019 +0530 @@ -1528,7 +1528,6 @@ update:[8] animals 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory is now at 2a2b36e14660 - no troubled changesets Relocating unstable change after prune ----------------------------------------------