2011-08-15 11 views
1

Windows XP SP3ではmsysGit 1.7.6を使用しています。Git merge --no-ffとsubmodules

2つの追跡ブランチを持つプロジェクト(b1とb2 - > b1と呼ぶ)とサブモジュール(それをサブと呼ぶ)を持っています。

b1からb2を作成した後、b1の別のリビジョンのリビジョンをチェックアウトし、b2を--no-ffでb2にマージしました。

今、b2は奇妙な動作をします。 'git submodule update'は何もしません。私が 'git log'を実行するとチェックアウトが見えますが、 'git log sub'を実行すると表示されません。

私はサブバージョンで 'git checkout'を使って後のリビジョンをチェックしようとしましたが、HEADからの変更のように扱われます。それをチェックした後、 'git diff HEAD'を実行すると 'git diff HEAD^1'にも違いがあることが示されますが、 'git diff HEAD^2'には違いはありません!

私は間違っていますか?これはバグですか?

+0

'b2'にマージする前に' sub'( 'b1')でコミットした後、親リポジトリ(' b1')でコミットしましたか? – VonC

+0

確かに私はやった!私は実際には、マージの前にいくつかのコミットを持って、ちょうどケースを簡略化しようとした... – orgads

答えて

0

これは私のせいでした...マージは明らかに失敗しましたが、私は気づいていませんでした(それは大きなスクリプトの一部です)。

-Xをマージに追加するだけです。今それは動作します。