2

を使用して作成したブランチp4 integrateがありますが、マージが期待どおりに動作しません。マージすると、次のようになります。

$ p4 merge -n ISSUE-49/... trunk/...
...
//depot/products/theProduct/trunk/some/directory/somefile.conf#1 - sync/delete from //depot/products/theProduct/ISSUE-49/some/directory/somefile.conf#1
...

そのファイルは ISSUE-49 ブランチに追加された (削除されていない) ため、削除する理由がわかりません。

を試して使用するとp4 integrate、次のようになります。

$ p4 integrate -n ISSUE-49/... trunk/...
...
//depot/products/theProduct/trunk/some/directory/somefile.conf#1 - branch/sync from //depot/products/theProduct/ISSUE-49/some/directory/somefile.conf#1
...

マージではなくブランチを実行しようとしているようです。それは...ですか?ISSUE-49 からの変更をトランクに安全にマージするにはどうすればよいですか?

を使用して、Linux のコマンドラインからこれを実行しようとしていますp4 2012.1。私はp4v 2013.3自分のWindowsマシンに持っています。それがもっと簡単なら、私はそれを使うことができます。

4

1 に答える 1

2

「マージ」操作が常に「統合」リビジョンになるとは限りません。これは、ターゲット ファイルの現在の状態とソース ファイルで行われた変更によって異なります。

「ブランチ」リビジョンは、他のファイルからのコピーとして作成される新しいファイルの最初のリビジョンです。「削除」リビジョンは、実際には存在しないファイルを表します (通常、これは以前に存在し、削除されたファイルのプレースホルダーですが、存在しなかったファイルのプレースホルダーになることもあります)。

「p4 マージ」と「p4 統合」の違いは、「p4 統合」では解決をスケジュールするのではなく、すぐに「分岐」のためにファイルが開かれることです。「p4 merge」に続いて「p4 resolve -am」を実行すると、「p4 integrate」を実行した場合とまったく同じように、ファイルが「branch」用に開かれます。

まとめ:大丈夫です。ファイルはまだトランクに存在しないため、ISSUE-49 からの通常のマージでは、新しいファイルとしてトランクに作成されます。「p4 integrate」+「p4 resolve」または「p4 merge」+「p4 resolve」のどちらを実行しても、ファイルは「ブランチ」用に開かれます。これは、ISSUE と同一の新しいファイルとして作成するアクションです。 -49ファイル。

于 2014-08-08T21:36:22.553 に答える