我正在使用 mercurial-server。服务器上有两个 mercurial 可执行文件,一个位于 /usr/bin/hg 下,另一个位于非标准位置。我希望 mercurial-server 使用非标准位置上的那个。
有人知道如何指定吗?我已经阅读了 mercurial-server 的配置文件,但我找不到任何方法来实现这一点。
答案1
我最终明白了。
这里涉及两个问题:
(1) mercurial-server 使用 mercurial-API。因此,需要确保 PYTHONPATH 指向正确的 mercurial-folder。由于通过 ssh 执行此操作,因此需要在 ~hg/.ssh/environment 中指定 PYTHONPATH。
(2) 此外,还有一个钩子,当推送 hgadmin 存储库时,它会修改 ~hg/.ssh/authorized_keys。在这里,mercurial 作为可执行文件运行。您可以在 /usr/local/share/mercurial-server/init/hgadmin-hgrc 中通过在以下行中指定完整路径来修复此问题
changegroup.aaaab_update = hg update -C default > /dev/null
changegroup.aaaac_purge = hg purge --all > /dev/null
我希望这可以帮助遇到同样问题的人。