[issue3194] Mercurial protocols mismatch ? (KeyError: 'cmds')

Eugene Mamin bugs at mercurial.selenic.com
Wed Jan 11 04:15:32 CST 2012

New submission from Eugene Mamin <TheDZhon at gmail.com>:

First of all, thank you for perfect SCM!

I have a troubles using mercurial with Linux server and Windows workstation.
My servers runs hg serve through nginx proxy by following command:

# sudo -u hg hg serve --webdir-conf /home/hg/repos/hgweb.config --address --port 7777 --encoding utf8

Server works well, I can browse repos from http, even work with repos from 
other Linux workstation.

As I should use windows for my work, I installed latest mercurial for windows:

d:\Projects\CMaked\dsp_widgets_qt>hg --version
Mercurial Distributed SCM (version 2.0.2)
(see http://mercurial.selenic.com for more information)

But now I have following trouble with hg outgoing / hg push:

d:\Projects\CMaked\dsp_widgets_qt>hg outgoing --debug
comparing with http://hg.dzhon.in/dsp_widgets_qt
using http://hg.dzhon.in/dsp_widgets_qt
sending capabilities command
query 1; heads
sending batch command
abort: HTTP Error 500: Internal Server Error

Servers shows those traces: - - [11/Jan/2012 10:11:05] "GET /dsp_widgets_qt?cmd=capabilities 
HTTP/1.0" 200 - - - [11/Jan/2012 10:11:05] "GET /dsp_widgets_qt?cmd=batch HTTP/1.0" 
500 - - - [11/Jan/2012 10:11:05] Exception happened during processing 
request '/dsp_widgets_qt?cmd=batch':
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/mercurial/hgweb/server.py", 
line 77, in do_POST
  File "/usr/local/lib/python2.7/site-packages/mercurial/hgweb/server.py", 
line 70, in do_write
  File "/usr/local/lib/python2.7/site-packages/mercurial/hgweb/server.py", 
line 137, in do_hgweb
    for chunk in self.server.application(env, self._start_response):
  File "/usr/local/lib/python2.7/site-
packages/mercurial/hgweb/hgwebdir_mod.py", line 147, in __call__
    return self.run_wsgi(req)
  File "/usr/local/lib/python2.7/site-
packages/mercurial/hgweb/hgwebdir_mod.py", line 205, in run_wsgi
    return hgweb(repo).run_wsgi(req)
  File "/usr/local/lib/python2.7/site-packages/mercurial/hgweb/hgweb_mod.py", 
line 127, in run_wsgi
    return protocol.call(self.repo, req, cmd)
  File "/usr/local/lib/python2.7/site-packages/mercurial/hgweb/protocol.py", 
line 76, in call
    rsp = wireproto.dispatch(repo, p, cmd)
  File "/usr/local/lib/python2.7/site-packages/mercurial/wireproto.py", line 
343, in dispatch
    args = proto.getargs(spec)
  File "/usr/local/lib/python2.7/site-packages/mercurial/hgweb/protocol.py", 
line 32, in getargs
    data[k] = knownargs[k][0]
KeyError: 'cmds'

I need your help, please.

messages: 18579
nosy: dzhon
priority: bug
status: unread
title: Mercurial protocols mismatch ? (KeyError: 'cmds')

Mercurial issue tracker <bugs at mercurial.selenic.com>

More information about the Mercurial-devel mailing list