-3

I'm using mercurial-server. On the server, there are two mercurial executables, one under /usr/bin/hg and the other at a non-standard location. I want that mercurial-server uses the one at the non-standard location.

Does anyone know how to specify this? I've read through config-files of mercurial-server but I've not found any way how to achieve this.

1 Answer 1

0

I eventually figured it out.

There are two issues involved:

(1) mercurial-server uses the mercurial-API. So one needs to make sure that the PYTHONPATH points at the correct mercurial-folder. As one does this through ssh, one needs to specify the PYTHONPATH in ~hg/.ssh/environment.

(2) Also, there is a hook that modifies the ~hg/.ssh/authorized_keys when one pushes the hgadmin repository. Here, mercurial is run as an executable. You can fix this in /usr/local/share/mercurial-server/init/hgadmin-hgrc by specifying the full path in the lines

changegroup.aaaab_update = hg update -C default > /dev/null
changegroup.aaaac_purge = hg purge --all > /dev/null

I hope that may help somebody who runs into the same problem.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .