title: Pushing a local mercurial repository to a remote server or cloning at server from local
body: <p>I have a local repository that I have now decided to push to a remote server (for example, I have a host that allows mercurial repositories and I am also trying to push to bitbucket). The repository has a lot of files and is a little more than 200mb. Locally, I am able to clone the repository without problems.</p>
  
  <p>Now I have a lot of changes in this repository, and I have wasted a couple of days trying to figure out how to get the remote server to clone my repository. I cannot get <code>hg serve</code> to work outside of the LAN. I have tried everything. So instead, I created a new repository at the remote servers (both at the host and bitbucket) with nothing in it. Now I am pushing the complete repository that I have locally to these remote locations. So far it has been unsuccessful, as the push operation is stuck on <code>searching for changes</code> and does not give me any other useful output. I have let it go for about an hour with no change.</p>
  
  <p>Now my questions is, what am I doing wrong as far as <code>hg serve</code> is concerned? I can access it locally but not remotely (through DynDns - I have configured it properly and the router forwards the ports correctly) so that I can get the server to clone the repository the first time after which I will be pushing to it. My second question is, assuming the clone at server does not work (for example, if I was to push my current repository to bitbucket), is creating an empty repository at the server and then pushing a local repository to the new remote repository ok? Is that the source of the <code>searching for changes</code> problem?</p>
  
  <p>Any help in this regard would be greatly appreciated.</p>