Issue with https mercurial push
Paul Franz
theandromedan at gmail.com
Sun Feb 12 23:54:38 UTC 2017
David,
This sounds like an issue with nginx timing out on the request. That is the request is taking too long to process. What is the timeout for nginx? (Note: I am unfamiliar with nginx, I mainly use Apache)
Paul Franz
Twitter: PaulFranz
"May the Lord Grant You Extra Innings"
> On Feb 11, 2017, at 10:39 PM, David Kalliecharan <davidkallie at gmail.com> wrote:
>
> 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
> =================
> _______________________________________________
> Mercurial mailing list
> Mercurial at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial
More information about the Mercurial
mailing list