デポに保留されているファイルを保留解除するときに、ワークスペース内の既存の開いている変更済みファイルに変更をマージするようにPerforceに指示するにはどうすればよいですか? Perforceがユーザーに提供しているように見える唯一のオプションは、ワークスペース内の既存のファイルを上書きまたは元に戻すことですが、これでは、たとえば、複数の変更リストから同じファイルへの変更を保留解除して統合することはできません. この制限を回避する方法はありますか?
2 に答える
私が通常行うことは、保留ファイルを右クリックして、[ワークスペース ファイルとの差分] を選択することです。差分ツールを開くと、ツールバーのボタンを選択して「右側のペインでファイルを編集」できます。これにより、基本的に双方向マージが開始されます。相違点ごとに、保留ファイルから必要な変更を選択できます (デフォルトでは、相違点はワークスペース ファイルから選択されます)。
ただし、Perforce に一種のマージ機能を追加して、これをより自動的に行うとよいでしょう。
編集して追加:
Perforce には、シェルフ解除時にファイルをマージする機能が組み込まれています。チェックアウトされているファイルをユーザーがシェルフ解除し、[シェルフ解除前にチェックアウトしたファイルを元に戻す] がオフになっている場合、Perforce はそのファイルを解決するようにマークします。リリース ノートを調べたところ、この機能が追加されたバージョンを見つけることができませんでしたが、このリンク(説明の下部近くを参照)に基づいてp4 unshelve
、2012.1 までに追加されました。
再度編集して追加: この機能は、サーバーのリリース 2011.1 で追加されました。リリースノートは次のとおりです。
#299614 (Bug #38221, #39099) **
Unshelving a file opened for edit over a file already opened
for edit in the workspace is now allowed. A resolve record is
created when unshelving, and the user must then run 'p4 resolve'
to resolve the workspace files with the shelved files.
ファイルをチェックアウトして送信しようとすると、コピーを置き換えずに最新のリビジョンを取得するオプションが表示されます。その後、マージ ツールを実行できるようになります。送信前に競合を解決する必要があります。