Patchwork [Bug,5044] New: rebase AssertionError from command line

login
register
mail settings
Submitter mercurial-bugs@selenic.com
Date Jan. 17, 2016, 5:36 p.m.
Message ID <bug-5044-285@https.bz.mercurial-scm.org/>
Download mbox | patch
Permalink /patch/12809/
State Not Applicable
Delegated to: Pierre-Yves David
Headers show

Comments

mercurial-bugs@selenic.com - Jan. 17, 2016, 5:36 p.m.
https://bz.mercurial-scm.org/show_bug.cgi?id=5044

            Bug ID: 5044
           Summary: rebase AssertionError from command line
           Product: Mercurial
           Version: stable branch
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: bug
          Priority: normal
         Component: rebase
          Assignee: bugzilla@selenic.com
          Reporter: mads@kiilerich.com
                CC: mercurial-devel@selenic.com

This case passed before 
ad9db007656f  2013-10-30  stable  pierre-yves.david  "rebase: fix selection of
base used when rebasing merge (issue4041)"
introduced UnboundLocalError which was fixed in
9155257e6330  2014-02-14  default  simohe  "rebase: do not raise an
UnboundLocalError when called wrong (issue4106)"
(without test coverage) - and then this case failed.

Patch

--- a/tests/test-rebase-parameters.t
+++ b/tests/test-rebase-parameters.t
@@ -412,6 +412,47 @@  Specify only revs (from 2 onto 8)

   $ cd ..

+Assertion error
+
+  $ hg clone -q -u . a aX
+  $ cd aX
+  $ hg rebase -r 3 -r 6
+  rebasing 3:32af7686d403 "D"
+  rebasing 6:eea13746799a "G"
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.10 (default, Sep  8 2015, 17:20:17) [GCC 5.1.1 20150618 (Red
Hat 5.1.1-4)]
+  ** Mercurial Distributed SCM (version +0-)
+  ** Extensions loaded: rebase
+  Traceback (most recent call last):
+    File "/home/madski/hg/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/madski/hg/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/madski/hg/mercurial/dispatch.py", line 116, in dispatch
+      ret = _runcatch(req)
+    File "/home/madski/hg/mercurial/dispatch.py", line 187, in _runcatch
+      return _dispatch(req)
+    File "/home/madski/hg/mercurial/dispatch.py", line 920, in _dispatch
+      cmdpats, cmdoptions)
+    File "/home/madski/hg/mercurial/dispatch.py", line 679, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/madski/hg/mercurial/dispatch.py", line 1051, in _runcommand
+      return checkargs()
+    File "/home/madski/hg/mercurial/dispatch.py", line 1011, in checkargs
+      return cmdfunc()
+    File "/home/madski/hg/mercurial/dispatch.py", line 917, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/madski/hg/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/madski/hg/hgext/rebase.py", line 434, in rebase
+      targetancestors)
+    File "/home/madski/hg/hgext/rebase.py", line 752, in defineparents
+      raise AssertionError('no base found to rebase on '
+  AssertionError: no base found to rebase on (defineparents called wrong)
+  [1]
+  $ cd ..
+
 Test --tool parameter: