Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial存储库可以嵌套吗?_Mercurial_Dvcs - Fatal编程技术网

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

如果站点上已经有Mercurial存储库,会发生什么

/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
!:)治疗焦虑的想法知道这一点很好,但链接已断开。子存储库功能显然是一个