Last weekend (16. July 2011) our mercurial packages auto-updated to the newest 1.9 mercurial binaries using the mercurial-stable ppa on a ubuntu lucid.
Now pulling from repository over SSH no longer works. Following error is displayed:
remote: Traceback (most recent call last):
remote: File "/usr/share/mercurial-server/hg-ssh", line 86, in <module>
remote: dispatch.dispatch(['-R', repo, 'serve', '--stdio'])
remote: File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 31, in dispatch
remote: if req.ferr:
remote: AttributeError: 'list' object has no attribute 'ferr'
abort: no suitable response from remote hg!
In the mercurial 1.9 upgrade notes there is an 'interesting' note:
contrib/hg-ssh from older Mercurial releases will not be compatible with version 1.9, please update your copy.
Has somebody an idea how to upgrade (if there is already a version) the package mercurial-server? Or do we need to upgrade something else? (New python scripts?)
If there is no new version yet of the necessary packages, how to downgrade to the previous 1.7.5 (ubuntu lucid)?
Any help is really appreciated as our development processes are really slowed down by this fact. :S
Thanks
Ok, found a (workaround) solution by editing a python script.
Edit the script /usr/share/mercurial-server/hg-ssh At the end of the script replace the line:
dispatch.dispatch(['-R', repo, 'serve', '--stdio'])
with the line:
dispatch.dispatch(dispatch.request(['-R', repo, 'serve', '--stdio']))
Replace also:
dispatch.dispatch(['init', repo])
with the line:
dispatch.dispatch(dispatch.request(['init', repo]))
This works for us.
Hopefully this saves to somebody else burning 4 hours of work with googleing and learning basics of python. :S
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With