I'm trying to configure mercurial for use on a remote machine that has sshd running on an alternate port, and for which my login requires a particular key, which uses a passphrase.
ssh is configured and working fine, as with:
ssh -i ~/.ssh/id_rsa-xyz -p 1234 myuser@barney.example.com
My issue is what goes into the hgrc files to make this work with either of an alias (barney-stuff
) or the default-push property:
hg push barney-alias
hg push
Most of the ssh documentation I've seen for Mercurial presumes the default port and a pre-loaded key.
I tried adding this to the repository's hgrc file:
ssh = /usr/bin/ssh -i /home/me/.ssh/id_rsa-xyz -p 1234
default = ssh://myuser@barney.example.com//hgroot/project1
But an hg push just hangs.
Best Answer
My bad - the hgrc file should have the sections headers:
With that change, it gives me the error:
Which is because the remote machine only has a pre-1.1 version of Mercurial.