TypeError when cloning a repository with progress extension enabled
Created originally on Bitbucket by adduc (John S Long)
With the progress extension enabled, this error occurs consistently on cloning a git repository. Disabling the progress extension, the repository clones fine.
- hg-git revision used:
dd8733d21b96
- dulwich version (as identified by pip):
0.9.3
** Unknown exception encountered with possibly-broken third-party extension hggit
** which supports versions 2.8.1 of Mercurial.
** Please disable hggit and try your action again.
** If that fixes the bug please report it to https://bitbucket.org/durin42/hg-git/issues
** Python 2.7.5+ (default, Sep 19 2013, 13:48:49) [GCC 4.8.1]
** Mercurial Distributed SCM (version 2.9+13-5f683209f5b6)
** Extensions loaded: progress, strip, mq, graphlog, hggit, churn, color, eol, pager, rebase, record
Traceback (most recent call last):
File "/usr/local/bin/hg", line 38, in <module>
mercurial.dispatch.run()
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 28, in run
sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 69, in dispatch
ret = _runcatch(req)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 134, in _runcatch
return _dispatch(req)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 806, in _dispatch
cmdpats, cmdoptions)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 586, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/local/lib/python2.7/dist-packages/mercurial/extensions.py", line 196, in wrap
return wrapper(origfn, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/hgext/pager.py", line 138, in pagecmd
return orig(ui, options, cmd, cmdfunc)
File "/usr/local/lib/python2.7/dist-packages/mercurial/extensions.py", line 196, in wrap
return wrapper(origfn, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/hgext/color.py", line 417, in colorcmd
return orig(ui_, opts, cmd, cmdfunc)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 897, in _runcommand
return checkargs()
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 868, in checkargs
return cmdfunc()
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 803, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 511, in check
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/mercurial/commands.py", line 1310, in clone
branch=opts.get('branch'))
File "/usr/local/lib/python2.7/dist-packages/mercurial/hg.py", line 374, in clone
destpeer.local().clone(srcpeer, heads=revs, stream=stream)
File "/usr/local/lib/python2.7/dist-packages/mercurial/localrepo.py", line 2402, in clone
return self.pull(remote, heads)
File "/home/jlong/Downloads/Repositories/other/hg-git/hggit/hgrepo.py", line 14, in pull
return self.githandler.fetch(remote.path, heads)
File "/home/jlong/Downloads/Repositories/other/hg-git/hggit/git_handler.py", line 201, in fetch
refs = self.fetch_pack(remote, heads)
File "/home/jlong/Downloads/Repositories/other/hg-git/hggit/git_handler.py", line 1007, in fetch_pack
ret = client.fetch_pack(path, determine_wants, graphwalker, f.write, progress.progress)
File "/usr/local/lib/python2.7/dist-packages/dulwich/client.py", line 542, in fetch_pack
graph_walker, pack_data, progress)
File "/usr/local/lib/python2.7/dist-packages/dulwich/client.py", line 406, in _handle_upload_pack_tail
self._read_side_band64k_data(proto, {1: pack_data, 2: progress})
File "/usr/local/lib/python2.7/dist-packages/dulwich/client.py", line 287, in _read_side_band64k_data
cb(pkt)
File "/home/jlong/Downloads/Repositories/other/hg-git/hggit/git_handler.py", line 69, in progress
self.flush(data)
File "/home/jlong/Downloads/Repositories/other/hg-git/hggit/git_handler.py", line 86, in flush
self.ui.progress(self.ui, self.lasttopic, None)
File "/usr/local/lib/python2.7/dist-packages/hgext/progress.py", line 276, in progress
self._progbar.progress(*args, **opts)
File "/usr/local/lib/python2.7/dist-packages/hgext/progress.py", line 262, in progress
self.show(now, topic, *self.topicstates[topic])
File "/usr/local/lib/python2.7/dist-packages/hgext/progress.py", line 154, in show
head = spacejoin(head, add)
File "/usr/local/lib/python2.7/dist-packages/hgext/progress.py", line 45, in spacejoin
return ' '.join(s for s in args if s)
TypeError: sequence item 0: expected string, progressui found