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)?
您可以在接收方创建一个钩子.将以下部分添加到repo/.hg/hgrc中
[hooks] changegroup = hg update
应该这样做.请注意,未克隆挂钩.
没有隐藏选项来强制更新远程存储库.只有一个条件确定是否执行更新(例如,Mercurial 1.0.1源中的hg.py的第239行):
if dest_repo.local():
如果您打算在工作副本中做一些工作,那么无论如何都要登录,此时运行"hg update"非常简单,因此放松当前对远程克隆的约束的动力不大.