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)?
答案 0 :(得分:12)
您可以在接收方创建一个钩子。将以下部分添加到您的repo / .hg / hgrc
[hooks]
changegroup = hg update
应该这样做。请注意,未克隆挂钩。
答案 1 :(得分:5)
没有隐藏选项来强制更新远程存储库。只有一个条件确定是否执行更新(例如,Mercurial 1.0.1源中的hg.py第239行):
if dest_repo.local():
如果您打算在工作副本中做一些工作,那么无论如何都要登录,此时运行“hg update”非常简单,所以放松当前约束的动机并不多克隆。
答案 2 :(得分:-2)
我有同样的问题,不幸的是没有简单的解决方案可以避免第3步.memcurial不会像“git clone”那样远程检查工作副本,所以在部署你的html时你将总是有这个额外的步骤文件首次,例如。