Mercurial:使用不同环境进行远程操作(remotecmd .hgrc)

时间:2012-06-16 05:57:50

标签: mercurial remote-server hgrc

我合作有两个项目,他们住在不同的服务器,A和B. 虽然A在hg中有/opt/mercurial/bin/hg个程序,但B在/usr/local/bin/hg中有。{/ p>

当我想将更改拉/推到远程时,我必须手动修改.hgrc文件,以便选项remotecmd指向hg的正确位置。< / p>

我想知道是否可以为不同的遥控器设置不同的remotecmd路径,这样我每次需要时都不必手动更改hg程序的路径远程操作。

我看到了这个问题:Setup platform-dependent hgrc但在我看来应该有一个更原生的(类似于内置设置)方式来做到这一点。到目前为止,我还没有找到它,所以欢迎任何帮助:)

谢谢!

1 个答案:

答案 0 :(得分:2)

理想情况下,您只需将hg二进制文件放入两台服务器上的$PATH,您就不必再考虑它了。这可以在系统的/etc/profile或该远程服务器上的.ssh/enviironment中完成。大多数人从不甚至需要考虑remotecmd

如果它们是单独的项目(甚至是同一项目的本地单独克隆),您可以在每个存储库中的remotecmd文件中设置.hg/hgrc - 设置不一定必须是在~/hgrc文件中。

另请注意,--remotecmd可用作推送和拉取的命令行选项,因此您可以使用它,甚至可以将其与以下内容结合使用:

[alias]
pusha = push --remotecmd /opt/mercurial/bin/hg

然后你可以hg pusha

但实际上,只需尝试将hg放入您的路径,就像其他人一样。