時々、私がセットを変更することを受け入れるとき、私は次のメッセージを受け取ります:
これを解決するには、変更をパッチとして適用してから、「ワークスペースにマージ」して変更を適用します。すべての変更セットが見つからないのはなぜですか。コードがフローターゲットと同期しなくなる危険性はありますか?
時々、私がセットを変更することを受け入れるとき、私は次のメッセージを受け取ります:
これを解決するには、変更をパッチとして適用してから、「ワークスペースにマージ」して変更を適用します。すべての変更セットが見つからないのはなぜですか。コードがフローターゲットと同期しなくなる危険性はありますか?
危険はそれほど同期していないことではなく、パッチが適用された後の結果のコードの整合性です。配信されていない他の
変更セット
に基づいて変更セットを受け入れています。
それが機能するという保証はありません。
このスレッドで説明されているように:
S1で、ファイル
foo.java
:CS-23
とを変更した2つの変更セットがあるとしCS-35
ます。
リクエストしましたが、リクエストしCS-35
ていませんCS-23
。
ただし、のファイルの状態にはfoo.java
...からCS-35
の変更が含まれているため、「この変更セットに至るまでの変更セット」も持っていない限り、取得することはできません。CS-23
CS-35
CS-23
開発者Aは、特定の時点までの すべての変更セットを提供するという条件で、すべての変更セットを提供しなくてもかまいません。
警告は、部分的な配信の場合に表示されます(開発者はB
変更セットに基づいて配信しますが、変更セットは配信A
しませんA
)
git cherry-pick
2つの変更セットの間に(と同様の)機能依存性がない場合(たとえば、コンパイルするため B
にコードに依存しない場合) 、これは問題ではない可能性があります。A