我在名为“Gold”的服务器上有一个repo,它作为我的生产仓库存在,服务器上的一个名为“Silver”的repo充当dev repo,然后显然是我本地客户端上的一个或多个repos。奇怪的是,当我将一个变更集从我的本地开发机器推送到Gold时,Silver也会以某种方式获得变更集。我们在IIS7.5上运行Windows Server 2008R2上的Mercurial。
示例:
服务器(在服务器上创建黄金)
客户(克隆黄金到客户端)
此时客户端和服务器是同步的,每个都有一个变更集。
服务器(将Gold克隆为Silver - 一个新的dev repo - 在服务器上)
客户(提交并推送更改为Gold - 不接触Silver)
现在我希望Gold有两个变更集,Silver可以有一个。在我们这里的环境中, Gold&银都不知何故都有变化集!我们推送到Gold的任何更改都会自动显示为Silver。这对我来说似乎令人难以置信 - 有没有人遇到过这个?
答案 0 :(得分:1)
槽糕。这当然不应该发生。有一些方法可以实现它(使用钩子),但它不应该自己发生。
对于本地克隆(您的hg clone ./Gold Silver
行),mercurial使用硬件链接来节省磁盘空间,但它会在写入时断开这些链接。
但是,作为测试,您可以将该行更改为:
hg clone --pull ./Gold Silver
将使用更多磁盘空间,但在其他方面相同。
我不希望有任何修复,但我想这是一个很好的数据点。