0
votes

I want to push a repository from my computer to a repository on a remote site for the purpose of synchronizing the files. TortoiseHg seems to correctly identify outgoing changesets, but when I try to push the changes, TortoiseHg responds with "abort: destination does not support push" with "Push to https://myid:[email protected] aborted, ret 255" in the status bar at the bottom. The log file includes "(falling back to static-http)"

I've googled but I'm getting nowhere. What does "abort: destination does not support push" mean in English? What doesn't support push? What is the "destination"? Is it the settings in the config files in the repo that make it so the destination doesn't support push? Is it the way the server is set up?

One of the responses to 27967022 "Your destination does not support push, or push is disabled" So how does one enable push?

2

2 Answers

1
votes

If you use hgweb on the server side, to allow pushing to a repository, add

[web]
  allow_push = *

to its .hg/hgrc on the server or in your hgweb.config. You can also allow pushing only for specific users by listing them instead of *. This is documented here.

If that is not the case and you just use the https server to serve the repo as files, you'll not be able to push via https. In that case, your most likely option is to push via ssh, as in

hg push ssh://[email protected]/path/to/repo

This requires that you have ssh access to the server and that the repository lies in $HOME/path/to/repo. For an absolute path (if the repository lies in /path/to/repo and not below $HOME), push to ssh://[email protected]//path/to/repo (note the double slash).

If you always push to the same destination, you can add this path to your local .hg/hgrc:

[paths]
default-push = ssh://[email protected]/path/to/repo

so that you can then just use hg push.

0
votes

What are you running for your mercurial server on mydomain.com? If it's hgweb, then @wintermute has your answer. If you're serving static HTTP (using Apache, nginx, etc.) then your server is setup for clone or pull, but not push. More likely you just need to enable push like @wintermute is saying.