メインプロジェクトリポジトリにユーティリティリポジトリを含め、カスタマイズを許可します
-
26-10-2019 - |
質問
一部のプロジェクトでソースコードの冗長性の改善に取り組んでおり、問題に直面しています。
私がより多くのプロジェクトを使用するいくつかのユーティリティがあるとしましょう。例:すべてのプロジェクトで使用するのに十分な一般的なスクリプトとテストスクリプトをビルドしますが、各プロジェクトにカスタマイズできる構成ファイルもあります。
ビルドスクリプトロジックを1つの場所で維持し(バグを修正して改善を追加)、使用するすべてのプロジェクトで変更を簡単に取得したいだけでなく、構成ファイルを壊すことなく変更します。
gitサブモジュールでこれを行うことはできないことはわかっています。これは、プロジェクト1の代わりにユーティリティリポジトリにPEをコミットする必要があるためです。
私も見てきました git-subtree, 、しかし、それが私がやりたいことをしているかどうかはわかりません。
誰かが以前にこれに入りましたか?
解決
gitサブモジュールでこれを行うことはできないことはわかっています。これは、プロジェクト1の代わりに構成ファイルをユーティリティリポジトリにコミットする必要があるためです。
各プロジェクトが独自のGitリポジトリであった場合、実際にサブモジュールを使用できます。
その後、各プロジェクト(親リポジトリ)は、ユーティリティリポジトリの特定のブランチの特定のコミットを参照し、各プロジェクトに合わせてそれらのユーティリティを備えた各ブランチを参照します。
ただし、ファイルの緊密なリンクセット(片側のユーティリティ、もう1つを投影)の場合、すべてを1つのリポジトリに保持し、 コンテンツフィルタードライバー:
あなたは持っているでしょう:
- テンプレートとしてバージョンされた一般的なユーティリティ(つまり、その値のない)
- 値ファイル(各プロジェクトに1つ)
- のチェックアウト時に可能なバージョン付きスクリプト
smudge
'スクリプト、各プロジェクトで最終ユーティリティを生成するために(スクリプトができれば テンプレートユーティリティのコンテンツを検出します).
所属していません StackOverflow