是否可以在现有的mercurial存储库中创建一个mercurial存储库?
我们的想法是将存储库的子目录作为不同的存储库来处理,你是如何做到的?
我不是在谈论subrepos(至少,如果我理解了subrepos的目的......),但如果这是subrepos的存在方式,那我就错了,我会尽力做到: )
由于 〜秋
编辑:为了更清楚,我想知道在没有指定modules / subrepos的情况下,将存储库放在另一个存储库中会发生什么,实践和含义。 换句话说:如果我这样做会发生什么:hg init globalRepo
hg init globalRepo/subRepo
并按原样使用这两个存储库?
答案 0 :(得分:15)
效果很好。早在Mercurial 1.3中添加了subrepo支持之前,很多人都将他们的整个主目录保存在一个mercurial repo中,用于跟踪他们的.bashrc
文件等。然后在他们的家庭目录中他们有许多其他回购的克隆。
每当你调用mercurial(没有-R
选项)时,它会在当前目录中查找.hg
目录,然后继续上去目录,直到找到它为止。因此,如果您在回购中的回购中,您的命令将始终作用于您所在的最里面的回购。
需要注意的是,您要确保不要将文件添加到最终位于内部存储库内的外部存储库中。然后你将有两个repos更新相同的文件。
答案 1 :(得分:4)
正如您在此SO question中所看到的,您可以制作这种嵌套hg init
,即使它通常用于定义 subRepo (其中不是你想要的。)
通常它应该作为两个独立的回购,但我建议在globalRepo
中添加hgignore
规则,以便完全忽略subRepo
内容。
答案 2 :(得分:0)
以下是嵌套存储库的some docs。