我有一个像这样设置的 Mercurial 存储库,在另一个子存储库中有一个子存储库:
Root
.hg
.hgsub
.hgsubstate
Nested
.hg
.hgsub
.hgsubstate
foo.txt
FurtherNested
.hg
bar.txt
如果我更改 foo.txt 和 bar.txt 并从 Root 内部提交,那么一切都很好,所有嵌套的子存储库都提交。但是,如果我只更改 bar.txt 并从 Root 提交,那么 Hg 认为没有任何改变。当FurtherNested 中只有更改时,我必须从Nested 内部提交才能提交FurtherNested 更改。似乎为了使嵌套的子存储库工作,每个嵌套级别都必须包含更改才能使递归工作。
我在关于 subrepos 的 Mercurial 文档中读到的任何内容似乎都没有暗示 subrepo 提交只会在发生更改时传播。事实上,它说的是相反的:
当我们提交时,Mercurial 将尝试在所有已定义的子存储库中递归提交...
所以我的问题是,这是可以预料的,还是有问题或尚未完成(Windows 上的 Mercurial 1.5.4)?