Ssh – Acessing a mercurial repository on a shared host over SSH

mercurialshared-hostingsshunix

I have a shared hosting account with SSH access. I have set up a virtual Python installation and have copies of the system folders in $HOME: ~/bin, ~/lib

I have installed mercurial through easy_install and everything is groovy: The hg executable sits at ~/bin/hg and my $PATH knows of this. I can create and commit to repositories fine on the server.

However, when I try to clone my repo to my laptop via SSH I get an error that hg can't be found.

$ hg clone ssh://myuser@server/hg/foobar
remote: jailshell: hg: command not found
abort: no suitable response from remote hg!

How to I tell mercurial (or SSH or jailshell) where to look for the executable?

Best Answer

You can tell Mercurial where exactly the hg command is on the remote machine by using the --remotecmd option to hg clone. See hg help clone.

You can also set it in your ~/.hgrc or the .hg/hgrc of a specific repo clone. I think it belongs in the [ui] section.