Patchwork [3,of,3] rebase: check for conflicts before continuing

login
register
mail settings
Submitter timeless
Date Nov. 2, 2016, 7:01 p.m.
Message ID <e9528bc734ce94456dd2.1478113313@gcc2-power8.osuosl.org>
Download mbox | patch
Permalink /patch/17287/
State Accepted
Headers show

Comments

timeless - Nov. 2, 2016, 7:01 p.m.
# HG changeset patch
# User timeless <timeless@mozdev.org>
# Date 1478113169 0
#      Wed Nov 02 18:59:29 2016 +0000
# Node ID e9528bc734ce94456dd2389b4ea318278139c206
# Parent  8dae4ad6767cf3456dd2fc4b2a7b478d855091f7
# Available At https://bitbucket.org/timeless/mercurial-crew
#              hg pull https://bitbucket.org/timeless/mercurial-crew -r e9528bc734ce
rebase: check for conflicts before continuing

When there are unresolved merge conflicts, there is no reason
to make the user wait for rebase to process all of the
already rebased commits just to complain that it cannot do
anything. Abort early.
Pierre-Yves David - Nov. 3, 2016, 4:10 p.m.
On 11/02/2016 08:01 PM, timeless wrote:
> # HG changeset patch
> # User timeless <timeless@mozdev.org>
> # Date 1478113169 0
> #      Wed Nov 02 18:59:29 2016 +0000
> # Node ID e9528bc734ce94456dd2389b4ea318278139c206
> # Parent  8dae4ad6767cf3456dd2fc4b2a7b478d855091f7
> # Available At https://bitbucket.org/timeless/mercurial-crew
> #              hg pull https://bitbucket.org/timeless/mercurial-crew -r e9528bc734ce
> rebase: check for conflicts before continuing

Pushed these one, thanks.

Patch

diff -r 8dae4ad6767c -r e9528bc734ce hgext/rebase.py
--- a/hgext/rebase.py	Wed Nov 02 18:45:53 2016 +0000
+++ b/hgext/rebase.py	Wed Nov 02 18:59:29 2016 +0000
@@ -661,6 +661,9 @@ 
                     _('abort and continue do not allow specifying revisions'))
             if abortf and opts.get('tool', False):
                 ui.warn(_('tool option will be ignored\n'))
+            if contf:
+                ms = mergemod.mergestate.read(repo)
+                cmdutil.checkunresolved(ms)
 
             retcode = rbsrt._prepareabortorcontinue(abortf)
             if retcode is not None:
diff -r 8dae4ad6767c -r e9528bc734ce tests/test-rebase-conflicts.t
--- a/tests/test-rebase-conflicts.t	Wed Nov 02 18:45:53 2016 +0000
+++ b/tests/test-rebase-conflicts.t	Wed Nov 02 18:59:29 2016 +0000
@@ -73,8 +73,6 @@ 
 Try to continue without solving the conflict:
 
   $ hg rebase --continue
-  already rebased 3:3163e20567cc "L1" as 3e046f2ecedb
-  rebasing 4:46f0b057b5c0 "L2"
   abort: unresolved merge conflicts (see 'hg help resolve')
   [255]