evolve: check for uncommited change earlier
Before this patch we were checking for uncommited change multiple times and
quite late for uncommited change. This patch moves the check at the beginning
of the evolve method to avoid these shortcomings.
--- a/hgext/evolve.py Fri Jun 19 11:04:18 2015 -0700
+++ b/hgext/evolve.py Tue Jun 16 15:08:44 2015 -0700
@@ -1393,6 +1393,8 @@
raise util.Abort('cannot specify both "--all" and "--continue"')
graftcmd = commands.table['graft'][0]
return graftcmd(ui, repo, old_obsolete=True, **{'continue': True})
+ cmdutil.bailifchanged(repo)
+
# Rev specified on the commands line
if revopt:
revs = repo.revs(revopt)
@@ -1436,7 +1438,6 @@
def _evolveany(ui, repo, tro, dryrunopt, confirmopt, progresscb):
repo = repo.unfiltered()
tro = repo[tro.rev()]
- cmdutil.bailifchanged(repo)
troubles = tro.troubles()
if 'unstable' in troubles:
return _solveunstable(ui, repo, tro, dryrunopt, confirmopt, progresscb)