[PATCH 6 of 8] bisect: factor commonly update sequence
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Sun Oct 9 08:57:40 UTC 2016
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
# Date 1472007886 -7200
# Wed Aug 24 05:04:46 2016 +0200
# Node ID eb7d02debaf5ed831f12b509f4175ebb0cd40143
# Parent 45469b6da789e8d07251c49f41cfef45fc3eba3b
# EXP-Topic bisect
bisect: factor commonly update sequence
For now, This remains a closure in the module to avoid circular import with used
module.
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -872,6 +872,13 @@ def bisect(ui, repo, rev=None, extra=Non
if not (state['good'] and state['bad']):
return
+ def mayupdate(repo, node, show_stats=True):
+ """common used update sequence"""
+ if noupdate:
+ return
+ cmdutil.bailifchanged(repo)
+ return hg.clean(repo, node, show_stats=show_stats)
+
if command:
changesets = 1
if noupdate:
@@ -910,9 +917,7 @@ def bisect(ui, repo, rev=None, extra=Non
nodes, changesets, bgood = hbisect.bisect(repo.changelog, state)
# update to next check
node = nodes[0]
- if not noupdate:
- cmdutil.bailifchanged(repo)
- hg.clean(repo, node, show_stats=False)
+ mayupdate(repo, node, show_stats=False)
finally:
state['current'] = [node]
hbisect.save_state(repo, state)
@@ -932,10 +937,7 @@ def bisect(ui, repo, rev=None, extra=Non
% (extendnode.rev(), extendnode))
state['current'] = [extendnode.node()]
hbisect.save_state(repo, state)
- if noupdate:
- return
- cmdutil.bailifchanged(repo)
- return hg.clean(repo, extendnode.node())
+ return mayupdate(repo, extendnode.node())
raise error.Abort(_("nothing to extend"))
if changesets == 0:
@@ -954,9 +956,7 @@ def bisect(ui, repo, rev=None, extra=Non
% (rev, short(node), changesets, tests))
state['current'] = [node]
hbisect.save_state(repo, state)
- if not noupdate:
- cmdutil.bailifchanged(repo)
- return hg.clean(repo, node)
+ mayupdate(repo, node)
@command('bookmarks|bookmark',
[('f', 'force', False, _('force')),
More information about the Mercurial-devel
mailing list