将mercurial repo克隆到远程主机

pac*_*nga 13 mercurial

Mercurial支持将存储库推送式克隆到远程主机,但是新克隆的存储库不包含工作副本.是否有任何"隐藏"选项可以在这些克隆的回购中进行mercurial调用更新?

这是一个例子:

1)hg init hello

2)hg clone hello ssh:// somehost/hello

ssh:// somehost/hello只包含.hg目录,我必须在shell中执行以下命令才能填充工作副本:

3)ssh somehost'cd hello && hg update'

有没有办法避免步骤3)?

Nic*_*kiy 12

您可以在接收方创建一个钩子.将以下部分添加到repo/.hg/hgrc中

[hooks]
changegroup = hg update
Run Code Online (Sandbox Code Playgroud)

应该这样做.请注意,未克隆挂钩.

  • 当你以后想要再次推送到接收器而不必再ssh来调用更新时,这会有所帮助.您在问题中描述的过程只需执行一次,然后按推送推送.那就是我提出的建议会简化事情.推动和忘记.= P (2认同)

Nat*_*hen 5

没有隐藏选项来强制更新远程存储库.只有一个条件确定是否执行更新(例如,Mercurial 1.0.1源中的hg.py的第239行):

if dest_repo.local():
Run Code Online (Sandbox Code Playgroud)

如果您打算在工作副本中做一些工作,那么无论如何都要登录,此时运行"hg update"非常简单,因此放松当前对远程克隆的约束的动力不大.