Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 398681 - dev-vcs/mercurial-server-1.1 cannot serve requests due to an API change in mercurial-1.9
Summary: dev-vcs/mercurial-server-1.1 cannot serve requests due to an API change in me...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Rafael Martins (RETIRED)
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2012-01-12 16:37 UTC by Olivier DOLE
Modified: 2012-03-18 18:11 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Fix mercurial-1.9 api breaking when using mercurial-server-1.1 (mercurial-server_1.1_dispatch-api-change.patch,868 bytes, patch)
2012-01-12 16:51 UTC, Olivier DOLE
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Olivier DOLE 2012-01-12 16:37:09 UTC
dev-vcs/mercurial-server-1.1 cannot serve requests due to an API change in mercurial-1.9
Indeed it seems that dispatch python class has changed its API and so break software relying on it. Unfortunately mercurial-server-1.1 relies on the deprecated API. To fix this problem without patching mercurial-server, 1.2 version has to be used.

Reproducible: Always

Steps to Reproduce:
1. Install mercurial-server
2. Do a basic configuration
3. Do not forget to run: su -c "/usr/share/mercurial-server/refresh-auth" - hg
4. Try to clone a repo from your server: hg clone --debug -v ssh://hg@myserver/tanuki-overlay
Actual Results:  
hg clone --debug -v ssh://hg@myserver/tanuki-overlay
running ssh hg@myserver "hg -R tanuki-overlay serve --stdio"
sending hello command
sending between command
remote: Traceback (most recent call last):
remote:   File "/usr/share/mercurial-server/hg-ssh", line 76, in <module>
remote:     dispatch.dispatch(['-R', repo, 'serve', '--stdio'])
remote:   File "/usr/lib/python2.7/site-packages/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!

Expected Results:  
The remote directory is correctly cloned locally.

Useful link which explains how to fix the problem: http://stackoverflow.com/questions/6730735/troubles-with-mercurial-1-9-and-ssh
Comment 1 Olivier DOLE 2012-01-12 16:51:56 UTC
Created attachment 298771 [details, diff]
Fix mercurial-1.9 api breaking when using mercurial-server-1.1

This patch should be applied in the ebuild only if mercurial>=1.9 is used.
Comment 2 Rafael Martins (RETIRED) gentoo-dev 2012-03-18 18:11:31 UTC
version 1.2 in cvs for some time already.

closing.