別のサブレポ内にサブレポがある、このようにセットアップされた Mercurial レポがあります。
Root
.hg
.hgsub
.hgsubstate
Nested
.hg
.hgsub
.hgsubstate
foo.txt
FurtherNested
.hg
bar.txt
foo.txt と bar.txt を変更してルート内からコミットすると、すべてがうまくいき、ネストされたすべてのサブリポジトリがコミットされます。ただし、bar.txt のみを変更して Root からコミットすると、Hg は何も変更されていないと見なします。FurtherNestedに変更しかない場合、FurtherNestedの変更をコミットするには、Nested内からコミットする必要があります。ネストされたサブリポジトリが機能するためには、再帰が機能するために、ネストされた各レベルに変更が含まれている必要があるようです。
サブレポに関する Mercurial のドキュメントを読んでも、変更があった場合にのみサブレポのコミットが伝播することを暗示しているようには見えませんでした。実際、それは反対のことを言っています:
コミットすると、Mercurial は定義されたすべてのサブリポジトリで再帰的にコミットしようとします...
だから私の質問は、これは予想されることですか、それとも何かが壊れているのか、まだ行われていないのですか (Windows の Mercurial 1.5.4)?