问题:一个hg存储库有一个我要更新的文件&维护在另一个hg存储库中,我不想复制&糊。我确实希望在两个回购中都有这个文件。
情景:
使用产品0001
项目A 有一个hg存储库。
在路上,项目B 正在旋转。基本上没有耦合 项目A和B之间,但有一些文件 共享。
以托管方式控制文件的版本至关重要:copy& 粘贴不是一个可行的解决方案。
有一些解决方案可行 -
扩展此问题是在产品之间共享某些文件的概念。不知何故,文件需要被共享并被正确跟踪为单个文件,但是在两个不同的产品中。
一般问题可以这样说 -
给定一组产品,每个产品都有自己的存储库,在开发中共享和开发存在于彼此存储库中的文件(想想实用程序例程和框架),在产品之间保持文件版本一致的hg解决方案是什么。
这里有什么好的解决方案?
答案 0 :(得分:3)
你的第二个电话是正确的。您应该提取将存储在两个存储库中的文件,并将其作为第三个存储库,然后为项目A和项目B中的每个存储库创建一个子存储库。
我不知道你什么时候第一次看到subrepos,但是他们已经存在了一年,而且得到了很好的支持。
在堆栈溢出时阅读一些subrepo相关答案,确保你的subrepo路径相对(不是绝对w / http://等),他们会很好地对待你。
<强>更新强>
今天1.7版本的mercurial包含了subrepos的这些增强功能:
--subrepos/-S