Mercurial存储库可以嵌套吗?

时间:2010-08-30 21:12:26

标签: mercurial dvcs

如果

中已有Mercurial存储库,会发生什么
/User/peter/development

现在我想为

添加一个存储库
/User/peter

因为我还希望版本.bashrc.profile/User/peter/notes版本。在现有存储库上方有一个存储库是否会为Mercurial创建冲突?

2 个答案:

答案 0 :(得分:10)

一切都会好的。

似乎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

答案 1 :(得分:1)

版本1.3中的Mercurial中添加了"subrepositories"功能,而且是 1.5中支持,允许一些hg命令作用于嵌套存储库 递归。