hgext3rd/evolve/evolvecmd.py
changeset 4694 b6a7d2594ff3
parent 4693 6f6fec14e607
child 4695 4c9f9dac8977
--- 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