現在、巨大なsvnリポジトリをgitに移植しており、それぞれが独立したバイナリのソースコード、ドキュメント、またはロボットテストを含むリポジトリのサブディレクトリを別々のgitプロジェクトにエクスポートすることを考えています。
それらの1つは、現在開発中のライブラリであり、すべてのバイナリがそれに依存しています。
それらのディレクトリ/バイナリ/ドキュメントなどのすべてが現在開発されています。
それらすべてを別々のgitリポジトリに分離するか、サブモジュールを追加するか、それを1つの巨大なリポジトリであるため、それを保持する必要がありますか?
カタログ構造:
/trunk/src/
binary1/
binary2/
binary3/
binary4/
binary5/
library/
TA_tests/
docs/
scripts/
私の作業では、モジュールごとに別々のリポジトリとバージョンを維持しています。
現在のプロジェクトが多数のパーツを含む単一のプロジェクトである場合、物事を分離しておくことはそれほど重要ではありません。各モジュールが分離していると、さらに簡単になる場合があります。ただし、さまざまなモジュールを使用する小規模または中規模のプロジェクトが多数ある場合は、個別のリポジトリを持つと非常に便利です。
大きなリポジトリを1つだけ保持するのは私にとってエラーです。なぜなら、コミットタイムラインは、プロジェクトとは何の関係もない多くのコミットによって負担され、理由もなくプッシュ時にブロックされることが多いためです。
3つの選択肢があると思います。
それは本当にあなたのワークフローに依存します。ライブラリとリポジトリが緊密に結合されている場合は、gitサブツリーを選択します。依存関係を厳密に制御する場合は、依存サブマネージャーのように選択します。そうでない場合は、gitサブモジュールを選択します。
それはそれを読む必要がある人間のために物事を素晴らしく、きちんと保つので、それは素晴らしい考えだと思います。私は通常、コードでサブディレクトリを使用して、人間が読みやすいようにします。人間が読めるコードを使用しないと頭が痛くなり、物事を探すのが非常に難しくなります。あなたができる最善のことは、メインの実行可能ファイルをホームディレクトリに置き、他のすべてのものを分割することです。幸運を!