▽1
●
a-kuma3 ●100ポイント ベストアンサー |
あくまでも個人的な好みの話です。
svn の externals に対応する機能は、git では submodules だと思います。
それらに、どんな利点を求めるかにもよると思うのですが、個人的には VCS (Version Control System) の範疇を超えていると思ったりします。
依存するライブラリのバージョンの違い、というと一見 差異が少ないような感じ設けますが、こういった質問が出るということは、そうでもないケースがままある、ということ。
ものによっては、メジャーバージョンが上がったら、考え方自体が丸っと変わったりすることもある。
それは、もう、別のライブラリとして扱った方が良いんじゃないかと。
なので、複数のライブラリ(バージョンの違いを含む)を受け入れるものを作るなら、こんな戦略を取ると思います。
そのターゲットにしてるものがライブラリのバージョンがどうとか、を気にしたくないのであれば、依存するライブラリのバージョン差を吸収するライブラリをかませて、それに依存するとか。
VCS の機能の範疇外にしてあげた方が、VCS がまっとうに育つような気がします。