This is an older post therefore the content may no longer be accurate.

So you installed git and ikiwiki on your shared server and created your ikiwiki and repositories, but when you went to create a local working clone of the repository by running:

git clone :/path/to/.git

did you get the following error, like I did?

Cloning into ... jailshell: git-upload-pack: command not found fatal: The remote end hung up unexpectedly

Don’t worry, it’s not a difficult problem to solve, it’s just that the PATH variable that points to where your local git-install programs are is not being read for non-interactive shell. To test what the non-interactive PATH variable for your account on the server is, run the following from your local machine:

ssh echo \$PATH

If the local git install path you set in .bashrc is not present (eg. /home//bin), the server is ignoring the path directive in this file (and presumably those from places like ~/.ssh/environment too).

To resolve this, explicitly set the path for git-upload-pack as part of the clone command:

git clone -u /path/to/git-upload-pack :/path/to/.git

This is only good for the initial clone however; to remove the requirement to set the path for git-upload-path/git-receive-pack every time you do a pull from/push to the repository respectively, set the path for each in the newly created, local git repository’s config.

git config remote..uploadpack /path/to/git-upload-pack
git config remote..receivepack /path/to/git-receive-pack


If you’re still typing in the full @ with ssh and scp commands instead of ssh , do yourself a favour and setup a server alias in your ~/.ssh/config directory

Host HostName User Port

If you’re still using password logins with ssh and scp, look into changing to a key based passwordless login — either with or without a key password as appropriate.