Acessing a mercurial repository on a shared host over SSH

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?


Solution 1:

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.