contrib/vagrant/provision.sh
author Gregory Szorc <gregory.szorc@gmail.com>
Thu, 08 Mar 2018 15:58:52 -0800
changeset 36812 158d4ecc03c8
parent 21874 8da01b6e7b49
permissions -rw-r--r--
wireprotoserver: move all wire protocol handling logic out of hgweb Previous patches from several days ago worked to isolate processing of HTTP wire protocol requests to wireprotoserver. We still had a little logic in hgweb. If feels like the right time to finish the job. This commit moves WSGI request servicing from hgweb to wireprotoserver. The ugly dict holding the parsed request is no more. I think the new code is cleaner. As part of this, we now process wire protocol requests before the block to obtain the "query" variable. This makes it clear that this wonky "query" variable is not used by the wire protocol. The wonkiest part about this code is the HTTP 404. I'm actually not sure what all is going on here. It looks like the code is trying to prevent URL with path components that specify a command from not working. That part I grok. What I don't grok is why we need to send a 404. I would think it would be OK to no-op and let another handler try to service the request. But if we do this, we get some subrepo test failures. So it looks like something is expecting the HTTP 404 and reacting to it in a specific way. It /might/ be possible to change the behavior here. But it isn't something I'm comfortable doing because I don't understand the problem space. Differential Revision: https://phab.mercurial-scm.org/D2740

#!/bin/sh
# This scripts is used to install dependencies for
# testing Mercurial. Mainly used by Vagrant (see
# Vagrantfile for details).

export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y -q python-dev unzip
# run-tests.sh is added by Vagrantfile
chmod +x run-tests.sh