Issue with https mercurial push

David Kalliecharan davidkallie at gmail.com
Sun Feb 12 03:39:31 UTC 2017


Hello!

I have been having issues with `hg push` over HTTPS and get timeouts. My
setup is using nginx with uwsgi and hgweb.wsgi. The push times out, but the
push actually succeeds, but will not return until the timeout finishes,
which is annoying. Checking hg out after or the server side repo shows the
push in fact happened.

A lot of people mention the use of a huge repo, but here I am using a test
repo with 1 file in it, and still to no avail.

I have been filtering through the internet, trying to find solutions to
this problem as best as I could.

hg pull, in, out works just fine, all features work with ssh just fine as
well.

All directories have the same group and user for both nginx and uwsgi

The web frontend works just fine.

Any help would be greatly appreciated! Thanks

Here is the relevant information I can provide:

=================
START: hg --debug -vv push
=================
using ca certificates from certifi
using /usr/local/lib/python2.7/site-packages/certifi/cacert.pem for C
query 1; heads
sending batch command
searching for changes
all remote heads known locally
preparing listkeys for "phases"
sending listkeys command
received listkey for "phases": 15 bytes
checking for updated bookmarks
preparing listkeys for "bookmarks"
sending listkeys command
received listkey for "bookmarks": 0 bytes
sending branchmap command
sending branchmap command
preparing listkeys for "bookmarks"
sending listkeys command
received listkey for "bookmarks": 0 bytes
1 changesets found
list of changesets:
d9bf739880c552856c6184f514aad5e127429565
bundle2-output-bundle: "HG20", 4 parts total
bundle2-output-part: "replycaps" 155 bytes payload
bundle2-output-part: "check:heads" streamed payload
bundle2-output-part: "changegroup" (params: 1 mandatory) streamed pay
bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload
sending unbundle command
sending 938 bytes
bundle2-input-bundle: with-transaction
bundle2-input-part: "reply:changegroup" (advisory) (params: 0 advisord
bundle2-input-part: "output" (advisory) (params: 0 advisory) supporte
bundle2-input-part: total payload size 100
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
bundle2-input-part: "reply:pushkey" (params: 0 advisory) supported
bundle2-input-part: "output" (advisory) supported
bundle2-input-bundle: 3 parts total
preparing listkeys for "phases"
sending listkeys command
abort: error: Operation timed out
=================
END hg push
=================

=================
START: nginx.conf
=================
server {
# SSL certs, ciphers etc...

limit_except GET HEAD {
    auth_basic "hg repo"
    auth_basic_user_file /usr/local/www/repo/auth.passwd;
}

location / {
     try_files $uri @app;
}

location @app {
    include uwsgi_params;
    uwsgi_pass unix:/usr/local/www/repo/hgweb.sock;
    uwsgi_param SERVER_ADDR $server_addr;
    uwsgi_param REMOTE_USER $remote_user;
    uwsgi_param SCRIPT_NAME "";
}

location  /static {
            alias
/usr/local/lib/python2.7/site-packages/mercurial/templates/static;
            expires 30d;
}
}
=================
END: nginx.conf
=================


=================
START: uwsgi_hgweb.ini
=================
[uwsgi]
chdir           = /usr/local/www/repo
wsgi-file       = hgweb.wsgi

processes       = 2
socket          = /usr/local/www/repo/hgweb.sock
pidfile         = /usr/local/www/repo/hgweb.pid
chmod-socket    = 664
=================
END: uwsgi_hgweb.ini
=================

=================
START: hgweb.config
=================
[paths]
/ = /usr/local/repo/hg/*

[web]
baseurl = /
contact = Unknown
staticurl = /static
=================
END: hgweb.config
=================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial/attachments/20170211/48ca8ee8/attachment.html>


More information about the Mercurial mailing list