changeset 706:90f0a1ede70a

evolve: clean up evolve implementation.
author Levi Bard <levi@unity3d.com>
date Sat, 09 Feb 2013 17:02:34 +0100
parents 4884111bcb92
children f914e315b717
files hgext/evolve.py
diffstat 1 files changed, 11 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/evolve.py	Sat Feb 09 16:21:32 2013 +0100
+++ b/hgext/evolve.py	Sat Feb 09 17:02:34 2013 +0100
@@ -888,8 +888,6 @@
     allopt = opts['all']
     dryrunopt = opts['dry_run']
 
-    evolved_changesets = 0
-
     if contopt:
         if anyopt:
             raise util.Abort('can not specify both "--any" and "--continue"')
@@ -897,20 +895,8 @@
             raise util.Abort('can not specify both "--all" and "--continue"')
         graftcmd = commands.table['graft'][0]
         return graftcmd(ui, repo, old_obsolete=True, **{'continue': True})
-    while True:
-        result = _evolveany(ui, repo, anyopt or allopt, dryrunopt)
-        if(1 == result):
-            if(0 < evolved_changesets):
-                # We evolved some changesets, and now we're done
-                return 0
-            ui.write_err(_('no troubled changeset\n')) 
-        if not allopt:
-            return result
-        evolved_changesets+=1
-        
 
-def _evolveany(ui, repo, anyopt, dryrunopt):
-    tr = _picknexttroubled(ui, repo, anyopt)
+    tr = _picknexttroubled(ui, repo, anyopt or allopt)
     if tr is None:
         troubled = repo.revs('troubled()')
         if troubled:
@@ -919,7 +905,17 @@
                       % len(troubled))
             return 2
         else:
+            ui.write_err(_('no troubled changeset\n')) 
             return 1
+
+    while tr is not None:
+        result = _evolveany(ui, repo, tr, dryrunopt)
+        if 2 == result or not allopt:
+            return result
+        tr = _picknexttroubled(ui, repo, anyopt or allopt)
+        
+
+def _evolveany(ui, repo, tr, dryrunopt):
     repo = repo.unfiltered()
     tr = repo[tr.rev()]
     cmdutil.bailifchanged(repo)