質問: git submodule の挙動を調べていました。 git submodule init では、ファイルパスを指定できますが、ここで ``` # 1: without trailing slash git submodule init non-existing-dir # => error: pathspec 'non-existing-dir' did not match any file(s) known to git. # 2: with trailing slash git submodule init non-existing-dir/ # => すべての .gitmodules で記述されている submodule が config に定義される ``` と実行した場合に、 init の挙動が違うことを確認しました。 (補足: `non-existing-dir` は存在しない適当なディレクトリ名です) 具体的には、末尾に`/`を付与した場合には、パスによる init の制限が効いていないような挙動をしていました。 質問: どうしてこのような挙動になるのでしょうか。 環境情報追記: git 2.7.1 です。
回答: 2.7.0で発生し、2.7.3で解消された以下のバグの絡みではないでしょうか。 submodule helper list: respect correct path prefix · git/git@2b56bb7 内容は理解しきれていませんが、このパッチを適用することで問題が解消することが確認できました。一度Git2.7.3以降に更新してみてください。