I've configured hgweb.cgi behind iis7 on windows server 2008. I can pull the repository just fine. However whenever I push I get a 502 bad gateway. I've found a posting which seems to indicate this is a problem with the mercurial config on the server. mercurial doesnt seem to be picking up an http proxy (fiddler) from my local machine even if its configured.
Questions are:
how do I 'fix' the 502 problem?
failing that how do I make mercurial use the proxy so I can figure out whats going wrong?
how do I adjust the verbosity setting for mercurial 'properly' given that this is running under a webserver?
It sounds like this problem.
I was having the same issues with pushing a repository, but it went away after I had installed a later version of Mercurial (2.0.1). I used the instructions here, (paying attention to the comment to that post by Ethan J Brown).
Related
Currently, I cant clone the mercurial directory due to following error
Abort: stream ended unexpectedly.
We have few files that are larger than 10MB in size. These files are already uploaded on mercurial repository but we are getting error while doing a clone of that directory. We also have checked our internet connection which is not the issue. please guide what is the maximum size mercurial can transfer.
Kind Regards
We've had this issue when hosting the "master" repository on a shared host.
The hosting company had routines in place which would kill any processes using too much memory, and it seems hgweb loads most of the repository in memory during cloning. Thus if the timing was right, hgweb would get killed in the middle of the cloning operation, producing the error message you posted on the client.
We've moved our "master" repository to Bitbucket for now.
If it's an abruptly aborted stream it's not any limitation that Mercurial is imposing -- that would come with a clear error message. What server do you have hosting hgweb? Are you using Apache or another http server? Are you going over ssh? This is more likely trouble at your network level than it is a Mercurial configuration issue -- and certainly it's not a fundamental Mercurial limitation.
Generally the limits are in Gb area and defined by the operating system rather than mercurial (https://www.mercurial-scm.org/wiki/HandlingLargeFiles).
However, you repository might have a hook configured to limit the binary file size. See for example https://www.mercurial-scm.org/pipermail/mercurial/2009-January/023322.html
So you need to check the configuration of your repository in .hg/hgrc
I have just started working on a web project that uses Mercurial version control system to a bitbucket account.
The web project is hosted on a 3rd party server - Webfaction.
I have followed all the Mercurial tutorials at Mercurial
The tutorials state that a repository should be made on the local pc and then changes made to the code in the repository on the local pc and then added, committed and pushed to the bitbucket account.
But my project is hosted on a server - WebFaction, so all the code changes should happen on the server, so I can see that the changes work.
I cannot find a reference to changing the code on the WebFaction server (only on the local pc) and then committing and pushing the code from the WebFaction server to the bitbucket account. I simply don't know how to do this (or even if it can be done!).
Can someone give me the steps and syntax (as much as possible) to do this? Could you also keep the answers as simple as possible as there are huge parts of Mercurial I don't yet understand.
Thanks.
Assuming you have full SSH access to the WebFaction server (you should according to the WebFaction features page), I suggest you try following the detailled instructions found here. If you get stuck on any step, then you can ask a more specific question (probably better to ask on serverfault though).
The fact that the repository is on a remote server does not really change anything. You connect through SSH to the remote server (WebFaction) and you follow the steps as if it was a local machine.
I know this is a question that many of you will think that can be solved easily by pushing using https, but I cannot push over https.
I have a repository that I need pushed into Bitbucket, however, the way they allow to push is on https, which is obviously a good idea, but I cannot use https, so, does anybody knows if there is a way to push a repository into Bitbucket using http? I know that this has many security issues, but I have to deal with the fact that the ssl port is closed on the proxy I'm behind.
Ideas?
Unfortunately not - are you able to use SSH instead?
From the BitBucket documentation: "You can use either secure hypertext transport protocol (HTTPS) or secure shell (SSH) to connect to bitbucket."
For anyone reading this, we encountered this issue today (proxy denied https). We tried using http instead of https for Bitbucket, and it just worked.
Our team started using mercurial about a month ago and it was a rough start, but it's working out well now. At the end of last week though, we suddenly had issues pulling from each other's repositories.
Normally, I would pull from, for example, prog12:800, and it would work great. Now, I get the message
URLError: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
The hg server is running, and it's not a firewall issue. This issue only occurs when trying to access my repo and two other people's. Accessing everyone else's, and the one on our webdev server, is fine. We are all on the same lan (though two of us connect via vpn) We all have the same issue - from my own computer, i can type in my computer name:8000 and it works, but no one else can see it.
I appreciate any suggestions!
It it possible your IT department deployed something that's acting as a firewall on each machine? Being able to connect to your own port 8000, but not others' just screams firewalls.
That said, most people don't actually run hg serve on developer boxes. Instead you let each developer freely create repos on the "central" "webdev" box. So I might create 'work-in-progress-ry4an' and do push/pull from there, and other can pull from it.
The hg serve functionality is a great way to pass someone some quick changesets, but not built to be used as an always-on server.
I've read similiar questions here and elsewhere. This is not intended to be a duplicate, but I haven't found the answer.
I'm trying to ask a very particular question, so please don't mark this as duplicate unless you can point me somewhere with a very specific correct answer.
I'm running CentOS 6 and I have Mercurial 1.9 installed as our Mercurial Server.
I can add repositories and and I can clone, and commit changes, and push back to the server with no problems as long as I don't try to use SSL.
The apache website is configured with a self signed SSL cert (I am aware of the pros and cons around self signed SSL certs, but we have made the decision to use one unless it is technically impossible).
Our client machines are Windows 7 with TortoiseHG 2.1.4 installed. In Visual Studio 2010 I'm using "Mercurial Source Control Package".
What I would like to do, is make a server configuration change that would either on a server level or repository level allow a self signed certificate.
Per client machine changes are burdensom because even after I update everyones machine, next time I have to setup a new client I have to have these changes documented and remember to go back through the steps.
I've tried the hostfingerprints option but I haven't been able to get it to work. I'm not sure if this is supposed to work as a server configuration or if I'm putting the setting in the correct file or what.
As a side note, I finally found how to turn on --insecure through the TortoiseHG UI (clicking the lock icon), but it looks like the visual studio source control provider doesn't have an option (at least that I can find).
I'm not a Linux expert (but I have access to experts if needed) so please be verbose in your explanations.
Everyone in our organization is an HG novise.
As a last resort, we may just get an SSL cert.
Jamie F is correct, but I'll put it down here since s/he didn't. There is nothing a server can do to tell a client to trust it -- there would be little point in that. You need to either configure your clients or use a certificate signed by a CA that your client systems already trust.