2011-07-13 12 views
2

コアgitリポジトリがほとんどありません。これらのリポジトリは、10以上のスーパープロジェクトで使用されるコアライブラリとして機能します。同じgitリポジトリをサブモジュールと共有する複数のプロジェクトを更新するのが面倒です

時々、これらのコアgitリポジトリに新しい変更(マスターブランチ)をコミットしてプッシュすることがあります。スーパープロジェクトとチェックアウトサブモジュールのマスターブランチから引き出すと、新しい更新された変更が表示されることがあります。しかし、サブモジュールのディレクトリが変更され、スーパープロジェクトを最新のコミット済みスナップショットに進めるために、スーパープロジェクトを追加/コミットする必要があります。私はチームの共有のためにスーパープロジェクトをプッシュする必要があります。

私は、同じコアサブモジュールを共有する多くのスーパープロジェクトがあります。スーパープロジェクトそのものを更新するのは面倒です。

この問題を回避するための回避策または良い方法はありますか?

答えて

0

サブモジュールの変更をすべての親プロジェクト(サブモジュールから完全に分かっていない)に伝播させる「自動」プロセスがあるかどうかはわかりません。

もう1つの選択肢はgitslave gitsですが、サブモジュールの正確なSHA1は記録されません。

+0

私はWindows git guiとしてsmartgitを使用します。残念ながら、smartgitはgitslaveをサポートしていません。 –

+0

@Chauその場合、各親リポジトリを更新するプロセスをスクリプト化することをお勧めします。 – VonC

0

私は

理由;-)これは機能であると信じて:上流の変化ライブラリ、それを使用するプロジェクトはまだ影響を受けません。プロジェクトチームが新しいバージョンを使用する準備ができていると判断した場合にのみ、誰かが新しいサブモジュールを取得し、すべてが機能しているかどうかをチェックし、サブモジュールの新しいバージョンを使用してコードをコミットします。

関連する問題