将mercurial repo克隆到远程主机
Mercurial支持将存储库推式克隆到远程主机,但是新克隆的存储库不包含工作副本。是否有任何“隐藏”选项可以对这些克隆的回购进行mercurial call更新 以下是一个例子: 1) hgint你好 2) hg克隆你好ssh://somehost/hello ssh://somehost/hello 仅包含.hg目录,我必须在shell中执行以下命令才能填充工作副本: 3) ssh somehost'cd hello&&hg update'将mercurial repo克隆到远程主机,mercurial,Mercurial,Mercurial支持将存储库推式克隆到远程主机,但是新克隆的存储库不包含工作副本。是否有任何“隐藏”选项可以对这些克隆的回购进行mercurial call更新 以下是一个例子: 1) hgint你好 2) hg克隆你好ssh://somehost/hello ssh://somehost/hello 仅包含.hg目录,我必须在shell中执行以下命令才能填充工作副本: 3) ssh somehost'cd hello&&hg update' 有没有办法避免步骤3)?没有隐藏选项来强制更新远
有没有办法避免步骤3)?没有隐藏选项来强制更新远程存储库。只有一个条件决定是否执行更新(例如,Mercurial 1.0.1源中hg.py的第239行):
如果要在工作副本中执行某些工作,无论如何都要登录,此时运行“hg update”非常容易,因此没有太多动机放松当前对远程克隆的限制。您可以在接收端创建一个钩子。将以下部分添加到repo/.hg/hgrc
[hooks]
changegroup = hg update
应该这样做。请注意,钩子不是克隆的 我也有同样的问题,不幸的是,没有简单的解决方案可以避免步骤3。mercurial不像“git clone”那样远程签出工作副本,因此在第一次部署html文件时,您总是会有这个额外的步骤。,例如。但是,如果要将repo克隆到远程主机,它如何在远程端包含这些设置?;)当您以后想要再次推送到接收方时,这会有所帮助,而不必再次通过ssh调用update。你在问题中描述的过程实际上只需要做一次,然后是推。这就是我的建议可以简化事情的地方。推一推就忘了=在服务器上安装钩子(一次):
changegroup=hg update
在[hooks]
设置中。在完成初始克隆后只需执行一次。然后,当您推送时,您的存储库将自我更新。我不知道为什么我会被否决:首选的解决方案只是一个解决方案,因为您仍然需要执行步骤3(ssh到服务器)。谁在乎您是否必须ssh一次,关键是不必每次都这样做time@Lo奥里斯:因为那不是OP要求的(即:不回答问题)。
[hooks]
changegroup = hg update