私が一緒に働いていたチームは、svn から git に移行することに決めました。これは良いことだと思います。私は移行と現在の svn レイアウトの再構築を担当しています。
現在svnにあるものは次のようになります:
/externals (external libs copyed there like cunit, etc.)
/include (public headers only)
/libA
/libB
/libC
/source (source and private headers)
/libA
/libB
/libC
/tests (tests projects)
/libA
/libB
/libC
git について調査したところ、モジュール式のアプローチが好まれることがわかりました。だから私はこの構造を思いついた:
/externals (repo externals.git)
/libA (repo libA.git)
/include
/source
/tests
/libB (repo libB.git)
...
ただし、この種のモジュール性と、相互に依存している場合に異なるライブラリを使用するという点が壊れていると思います( libBには libA が必要であり、libD には libA と libC が必要です)。libA を依存関係として追加するには、libB のスコープを離れる必要があります。
次に、すべてのライブラリに「依存関係」フォルダーを追加し、そこにサブモジュールとして追加する必要がありますか、それとも初期の git レイアウトを維持する必要がありますか?
ここで推奨されるアプローチは何ですか?
ありがとう