指定 mercurial-server 使用哪个 mercurial-executable

指定 mercurial-server 使用哪个 mercurial-executable

我正在使用 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

我希望这可以帮助遇到同样问题的人。

相关内容