Mercurial:将变更集推到回购a,而回购B也有变更集?
我在服务器上有一个名为“Gold”的repo,它作为我的生产repo存在,在服务器上有一个名为“Silver”的repo,它作为开发repo存在,然后在本地客户端上有一个或多个repo。奇怪的是,当我将一个变更集从我的本地开发机器推到Gold时,Silver也以某种方式获得了变更集。我们正在IIS7.5上的Windows Server 2008R2上运行Mercurial 例如: 服务器(在服务器上创建黄金)Mercurial:将变更集推到回购a,而回购B也有变更集?,mercurial,Mercurial,我在服务器上有一个名为“Gold”的repo,它作为我的生产repo存在,在服务器上有一个名为“Silver”的repo,它作为开发repo存在,然后在本地客户端上有一个或多个repo。奇怪的是,当我将一个变更集从我的本地开发机器推到Gold时,Silver也以某种方式获得了变更集。我们正在IIS7.5上的Windows Server 2008R2上运行Mercurial 例如: 服务器(在服务器上创建黄金) mkdir黄金 cd/黄金 汞离子 客户端(将黄金克隆到客户端) 克隆开发 光盘
- mkdir黄金
- cd/黄金
- 汞离子
- 克隆开发
- 光盘开发
- echo“Foo”>bar.txt
- hg ci-Am“添加了文件bar.txt”
- 汞推力
- cd
- hg克隆/金银
- echo“Fizz”>buzz.txt
- hg ci-Am“添加了buzz.txt文件”
- 汞推力
现在,我希望黄金有两套兑换套,白银有一套。在我们这里的环境中,黄金和白银在某种程度上都有两个变更集!我们对黄金的任何更改都会自动显示为白银。这似乎出乎我的意料-以前有人遇到过吗?Hrm。这当然不应该发生。有很多方法可以让它发生(使用钩子),但它不应该单独发生 对于本地克隆(您的
hg clone./Gold-Silver
line),mercurial在封面下使用硬链接以节省磁盘空间,但在写入时会断开这些链接
但是,作为测试,您可以将该行更改为:
hg clone --pull ./Gold Silver
这将使用更多的磁盘空间,但在其他方面是相同的
我不希望这能解决任何问题,但我想这是一个很好的数据点。新的更改集是显示在日志中,传入的还是工作副本中?它通过hg日志显示,但不显示在工作目录中(没有传入任何内容)。这看起来像是一个bug(似乎是一个相关问题)。也许你可以从mercurial邮件列表中得到帮助。谢谢你指出鲁迪。Ry4n在下面提供了一个我可以使用的解决方法,但我也会跟进邮件列表-希望根本原因也能得到解决。你的建议确实有效,这很好。我很想知道为什么有必要。。。