[Bug 3791] New: UnboundLocalError in merge.py

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Wed Jan 30 04:06:58 CST 2013


http://bz.selenic.com/show_bug.cgi?id=3791

          Priority: normal
            Bug ID: 3791
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: UnboundLocalError in merge.py
          Severity: bug
    Classification: Unclassified
                OS: Linux
          Reporter: pierre-yves.david at logilab.fr
          Hardware: PC
            Status: UNCONFIRMED
           Version: 2.5-rc
         Component: Mercurial
           Product: Mercurial

I met a `UnboundLocalError` in merge.py while updating my talk demo:

>     $ hg rebase
>  +  ** Unknown exception encountered with possibly-broken third-party extension crecord
>  +  ** which supports versions unknown of Mercurial.
>  +  ** Please disable crecord and try your action again.
>  +  ** If that fixes the bug please report it to the extension author.
>  +  ** Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) [GCC 4.4.5]
>  +  ** Mercurial Distributed SCM (version 2.1+1-cc80929fe8c9)
>  +  ** Extensions loaded: color, schemes, convert, rebase, mq, churn, purge, transplant, progress, patchbomb, graphlog, record, crecord, hgview, activity, histedit, obsolete, evolve, perf, confman, extdiff
>  +  Traceback (most recent call last):
>  +    File "/home/pyves/bin//hg", line 38, in <module>
>  +      mercurial.dispatch.run()
>  +    File "/home/pyves/lib/python/mercurial/dispatch.py", line 28, in run
>  +      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
>  +    File "/home/pyves/lib/python/mercurial/dispatch.py", line 65, in dispatch
>  +      return _runcatch(req)
>  +    File "/home/pyves/lib/python/mercurial/dispatch.py", line 88, in _runcatch
>  +      return _dispatch(req)
>  +    File "/home/pyves/lib/python/mercurial/dispatch.py", line 743, in _dispatch
>  +      cmdpats, cmdoptions)
>  +    File "/home/pyves/lib/python/mercurial/dispatch.py", line 514, in runcommand
>  +      ret = _runcommand(ui, options, cmd, d)
>  +    File "/home/pyves/lib/python/mercurial/extensions.py", line 189, in wrap
>  +      return wrapper(origfn, *args, **kwargs)
>  +    File "/home/pyves/lib/python/hgext/color.py", line 394, in colorcmd
>  +      return orig(ui_, opts, cmd, cmdfunc)
>  +    File "/home/pyves/lib/python/mercurial/dispatch.py", line 833, in _runcommand
>  +      return checkargs()
>  +    File "/home/pyves/lib/python/mercurial/dispatch.py", line 804, in checkargs
>  +      return cmdfunc()
>  +    File "/home/pyves/lib/python/mercurial/dispatch.py", line 740, in <lambda>
>  +      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
>  +    File "/home/pyves/lib/python/mercurial/util.py", line 475, in check
>  +      return func(*args, **kwargs)
>  +    File "/home/pyves/lib/python/mercurial/extensions.py", line 144, in wrap
>  +      util.checksignature(origfn), *args, **kwargs)
>  +    File "/home/pyves/lib/python/mercurial/util.py", line 475, in check
>  +      return func(*args, **kwargs)
>  +    File "/home/pyves/lib/python/hgext/mq.py", line 3508, in mqcommand
>  +      return orig(ui, repo, *args, **kwargs)
>  +    File "/home/pyves/lib/python/mercurial/util.py", line 475, in check
>  +      return func(*args, **kwargs)
>  +    File "/home/pyves/lib/python/mercurial/extensions.py", line 144, in wrap
>  +      util.checksignature(origfn), *args, **kwargs)
>  +    File "/home/pyves/lib/python/mercurial/util.py", line 475, in check
>  +      return func(*args, **kwargs)
>  +    File "/home/pyves/pythonpath/hgext/evolve.py", line 619, in warnobserrors
>  +      ret = orig(ui, repo, *args, **kwargs)
>  +    File "/home/pyves/lib/python/mercurial/util.py", line 475, in check
>  +      return func(*args, **kwargs)
>  +    File "/home/pyves/lib/python/hgext/rebase.py", line 261, in rebase
>  +      stats = rebasenode(repo, rev, p1, state, collapsef)
>  +    File "/home/pyves/lib/python/hgext/rebase.py", line 394, in rebasenode
>  +      return merge.update(repo, rev, True, True, False, base, collapse)
>  +    File "/home/pyves/lib/python/mercurial/merge.py", line 622, in update
>  +      branchmerge, force, partial)
>  +    File "/home/pyves/lib/python/mercurial/merge.py", line 457, in calculateupdates
>  +      partial)
>  +    File "/home/pyves/lib/python/mercurial/merge.py", line 254, in manifestmerge
>  +      act("remote is newer", "g", f, fl)
>  +  UnboundLocalError: local variable 'fl' referenced before assignment
>  +  [1]

I'll upload the demo code somewhere. sound pretty serious.

I'm not sure when regression was introduced  last successful run was 2.3 did
not test with 2.4 yet.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list