Sör*_*lau 6 mercurial dvcs push
设置:
我正在为客户编写L代码,并且经常想要将它同时推送到SOffice和SCustomer.
我知道我可以使用一个changegroup
钩子从第二个存储库推送到第三个存储库(如本答案中所述),但这需要第二个可以达到第三个网络方式.
在我的情况下,每个都在防火墙后面,只有我的笔记本电脑通常通过VPN(或在物理上)访问.我可以在SOffice上建立VPN以获得SCustomer,但我不愿意.
有没有办法可以设置default
为两个存储库?
您不能default
使用两个存储库,但可以在hgrc
文件中定义多个存储库:
[paths]
default= /path/to/first/repo
scustomer = /path/to/second/repo
Run Code Online (Sandbox Code Playgroud)
然后,您可以scustomer
显式地推送到存储库:
hg push scustomer
Run Code Online (Sandbox Code Playgroud)
如果你想要自动化同时推送到两个存储库的过程,我不知道有一个Mercurial方法可以做到这一点,但是很容易创建一个shell脚本,别名或其他东西来运行两个命令之后其他.
你甚至可以使用存储库上的一个钩子自动推送到另一个,但你必须区分"手动"推送和钩子中的自动推送,我想这将是非常混乱.
有一个MultirepoExtension添加用于在多个存储库上执行任何操作的命令。
或者您可以创建一个别名来推送到两者,例如:
[aliases]
pushboth = !$HG push http://first ; $HG push http://second
Run Code Online (Sandbox Code Playgroud)
或者您可以创建一个预推钩子来推动另一个钩子。就像是:
[hooks]
pre-push = hg push http://second
Run Code Online (Sandbox Code Playgroud)
但我最喜欢(并赞成)krtek 的答案。只需给每个路径别名并使用短名称而不是 URL 运行推送两次即可。
归档时间: |
|
查看次数: |
620 次 |
最近记录: |