2

Perforceに大きなソースファイルがあり、ブランチ内でいくつかの小さなファイルに分割されています。これを処理できるブランチビューを作成したいのですが、PERFORCE(2009.1)は複数のファイルの最後のものしか表示しません。たとえば、私は以下を作成しました:

p4 integrate //depot/original/huge_file.c //depot/new/huge_file.c

後で私は巨大なファイルを小さなファイルに分割しました:

p4 integrate //depot/new/huge_file.c //depot/new/small_file_one.c
p4 integrate //depot/new/huge_file.c //depot/new/small_file_two.c
p4 integrate //depot/new/huge_file.c //depot/new/small_file_three.c

次に、それらのそれぞれ(を含む//depot/new/huge_file.c)を編集して送信します。

今、私はに変更を加え、//depot/original/huge_file.cそれらの変更をに統合したいと思い//depot/newます。これを手動で行うと、正常に機能します。

p4 integrate //depot/original/huge_file.c //depot/new/huge_file.c
p4 integrate //depot/original/huge_file.c //depot/new/small_file_one.c
p4 integrate //depot/original/huge_file.c //depot/new/small_file_two.c
p4 integrate //depot/original/huge_file.c //depot/new/small_file_three.c

しかし、統合するたびにそれを実行したくはありません。この種のものはブランチビューに属します。

残念ながら、ブランチビューに同じソースファイルが複数回含まれている場合、後続の行が前の行を上書きします。次のようなブランチビューを作成するにはどうすればよいですか。

//depot/original/huge_file.c //depot/new/huge_file.c
//depot/original/huge_file.c //depot/new/small_file_one.c
//depot/original/huge_file.c //depot/new/small_file_two.c
//depot/original/huge_file.c //depot/new/small_file_three.c

このブランチ仕様を使用して統合すると、small_file_three.cのみが統合されます。

4

2 に答える 2

3

オーバーレイマッピング(仕様のすべての行を強制的に処理する手段)を使用することをお勧めしますが、ページをすばやく確認すると、その上にキボッシュが配置されます。

オーバーレイマッピングはクライアントビューでのみ許可され、ブランチビューでは機能しません。

スクリプトを作成する必要があるようです。 このページには、役立つ可能性のある情報がいくつかあります(そして、これができないという事実を強調しています。「PERFORCEは1:多くのファイルマッピングをサポートしていません。」)。

于 2010-03-24T14:40:29.463 に答える
0

興味のあることと同じですが、なぜですか?

PERFORCEにhuge_file.cがないのはなぜですか。次に、ビルドシステムを変更して、3つの小さいソース制御のソースファイルからアセンブルします。または、本当にシンプルにしたい場合は、#includeするだけでもかまいません。

言い換えれば、あなたがやりたいタスクに間違ったツールを使おうとしているのではないかと思います。

于 2010-03-24T21:27:58.883 に答える