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)

defect
Not set
normal

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
Blocks: hg47
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
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.
See Also: → 1485873
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
Thanks Connor.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: