Closed
Bug 1485553
Opened 7 years ago
Closed 7 years ago
Mercurial 4.7 causes fxheads to error with 'hg: parse error: ['aurora'] is not iterable'
Categories
(Developer Services :: Mercurial: firefoxtree, defect)
Developer Services
Mercurial: firefoxtree
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: nthomas, Assigned: sheehan)
References
Details
Attachments
(1 file)
In a mozilla-unified repo:
$ hg fxheads
hg: parse error: ['aurora'] is not iterable
* This Mercurial 4.7 from Homebrew, and doesn't happen if I switch to v4.6.2
* version-control-tools at d196f5bdca4d
* hg verify didn't find any problems
Full traceback:
$ hg fxheads --traceback
Traceback (most recent call last):
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/scmutil.py", line 161, in callcatch
return func()
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/dispatch.py", line 344, in _runcatchfunc
return _dispatch(req)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/dispatch.py", line 984, in _dispatch
cmdpats, cmdoptions)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/dispatch.py", line 730, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/dispatch.py", line 992, in _runcommand
return cmdfunc()
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/dispatch.py", line 981, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/util.py", line 1528, in check
return func(*args, **kwargs)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/util.py", line 1528, in check
return func(*args, **kwargs)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/hgext/mq.py", line 3600, in mqcommand
return orig(ui, repo, *args, **kwargs)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/util.py", line 1528, in check
return func(*args, **kwargs)
File "/Users/nthomas/.mozbuild/version-control-tools/hgext/firefoxtree/__init__.py", line 580, in fxheads
displayer.show(ctx)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/logcmdutil.py", line 189, in show
self._show(ctx, copies, props)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/logcmdutil.py", line 460, in _show
self.ui.write(self.t.render(key, props))
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/templater.py", line 926, in render
return b''.join(self.generate(t, mapping))
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/util.py", line 1439, in increasingchunks
for chunk in source:
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/templateutil.py", line 659, in flatten
for i in thing:
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/templateutil.py", line 848, in runtemplate
yield evalrawexp(context, mapping, arg)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/templateutil.py", line 707, in evalrawexp
return func(context, mapping, data)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/templatefuncs.py", line 363, in label
thing = evalstring(context, mapping, args[1])
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/templateutil.py", line 779, in evalstring
return stringify(context, mapping, evalrawexp(context, mapping, arg))
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/templateutil.py", line 707, in evalrawexp
return func(context, mapping, data)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/templatefuncs.py", line 351, in join
return joinset.join(context, mapping, joiner)
File "/usr/local/Cellar/mercurial/4.7/lib/python2.7/site-packages/mercurial/templateutil.py", line 187, in join
raise error.ParseError(_('%r is not iterable') % self._value)
ParseError: ['aurora'] is not iterable
hg: parse error: ['aurora'] is not iterable
| Assignee | ||
Comment 1•7 years ago
|
||
The breakage here stems from the `changesettemplater` class in Mercurial, which for some reason is not recognizing a list of tags as a string-joinable iterable object. I'm still trying to determine if I need to set some sort of flag to get the intended behavior, or if this is an upstream bug.
Assignee: nobody → sheehan
Status: NEW → ASSIGNED
| Assignee | ||
Comment 2•7 years ago
|
||
Mercurial 4.7 made several changes at the template layer,
including wrapping most displayable objects to enable
usage with legacy templates. This commit wraps the output
of `template_fxheads` when running under Mercurial 4.7.
Comment 3•7 years ago
|
||
Comment on attachment 9003675 [details]
firefoxtrees: fix templating issues under Mercurial 4.7 (Bug 1485553) r?gps
Gregory Szorc [:gps] has approved the revision.
Attachment #9003675 -
Flags: review+
Pushed by gszorc@mozilla.com:
https://hg.mozilla.org/hgcustom/version-control-tools/rev/8f964986a7e0
firefoxtrees: fix templating issues under Mercurial 4.7 r=gps
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•