Mercurial存储库可以嵌套吗?
如果站点上已经有Mercurial存储库,会发生什么Mercurial存储库可以嵌套吗?,mercurial,dvcs,Mercurial,Dvcs,如果站点上已经有Mercurial存储库,会发生什么 /User/peter/development 现在我想为 /User/peter 因为我还想要版本.bashrc,.profile,或者也可能是/User/peter/notes。将存储库置于现有存储库之上会不会给Mercurial带来冲突?一切都会好起来的 Mercurial似乎足够聪明,可以忽略已经有存储库的子目录。下面是一段对话: $ mkdir outer $ mkdir outer/inner $ mkdir outer/su
/User/peter/development
现在我想为
/User/peter
因为我还想要版本
.bashrc
,.profile
,或者也可能是/User/peter/notes
。将存储库置于现有存储库之上会不会给Mercurial带来冲突?一切都会好起来的
Mercurial似乎足够聪明,可以忽略已经有存储库的子目录。下面是一段对话:
$ mkdir outer
$ mkdir outer/inner
$ mkdir outer/sub
$ echo red >outer/red.txt
$ echo blue >outer/inner/blue.txt
$ echo green >outer/sub/green.txt
$ cd outer/inner/
$ hg init
$ hg add
adding blue.txt
$ hg commit -m "create inner"
$ cd ..
$ hg init
$ hg add
adding red.txt
adding sub/green.txt
$ hg commit -m "create outer"
$ hg status
A red.txt
A sub/green.txt
$ hg commit -m "create outer"
如您所见,当我添加到外部存储库时,它会忽略内部目录
如果您想更加确定,可以将内部目录添加到.hgignore
中。Mercurial在1.3版中添加了一个功能,并且
1.5中支持,它允许一些hg命令作用于嵌套的存储库
递归。无需在您的
中添加任何内容。hgignore
——正如您所说,Mercurial将故意忽略嵌套的存储库,这正是为了允许人们(例如Mercurial开发人员自己…)对其主目录进行版本设置:-)@Martin:这就解释了!我建议在OP中使用.hgignore更像是一种廉价的焦虑疗法。汤姆:呵呵,我喜欢用.hgignore
!:)治疗焦虑的想法知道这一点很好,但链接已断开。子存储库功能显然是一个