2017-10-25 5 views
2

PERFORCEの空白の変更を簡単に取り消す方法はありますか?PERFORCEの空白の変更を取り消す

私は、保存時に末尾の空白を削除する.vimrcスクリプトを持っていますが、特定のコードの枝では、そのコードの所有者は空白のdiffを望ましくありません。

私は通常、自分のファイルのコピーを作成し、元のファイルを元に戻し、私が作った空白以外の変更を手動で統合する必要があります。

これを自動的に実行できる簡単なコマンドがPerforce(または他のUNIXツール)にありますか?

p4 resolve-dwオプションは空白を無視するためのオプションですが、ファイルを最初に解決できるようにする方法はわかりません。

+0

末尾の空白を挿入するには、明らかに.vimrcスクリプトが必要です。 :-) – sferencik

答えて

2

あなたのリビジョンが#4だったし、あなたのファイルがfooである。この例ではと仮定:

p4 sync file#3 
p4 edit file 
p4 sync file 
p4 resolve -dw 

あなたはまた、チェンジレベルで多くのファイル間でこれを行うことができます。前の変更に同期、編集のために開く、変更に同期、任意のオプションで解決。私はあなたがresolve -dwを行うときに、それはあなたが望むものであるfile#3になります。この場合、空白のみの差分の「あなた」のバージョンを、保持していることを考える

ホワイトスペースと非ホワイトスペースの両方のdiffを持つ個々の行がある場合は、Perforceのマージが行単位で動作するため、残りの行と一緒に空白のdiffを取得する可能性が高いことに注意してください。他のすべてが失敗した場合は、空白を使用して特定の作業を行う別のマージツールを見つけて、P4MERGEに設定してp4 resolveを実行します。 m

変更がまだ私はあなたのような何かを行うことができると思う保留されている場合は、次の

p4 print -o depotRev file 
p4 merge3 -dw depotRev file depotRev > merged 
rm depotRev 

、その後の操作を行います。

diff file merged 

差分が右mergedであなたのfileを交換する前に見えることを確認します。

+0

ああ、私の変更を既に提出した場合、これは解決策のようですね。デポに含まれていないファイルを解決できますか? –

+0

PERFORCEはデポ内にファイルに含まれていないものがある場合にのみ解決を設定します。私はあなたがここで望む結果を得るような方法でそれを考えることを「トリックする」方法を考えることができません。 'p4 merge3'は(上記の)一つのオプションです。あるいは' diff3'や 'p4merge'などを使うこともできます。 –

+0

このポリシーが"特定のあなたがそれらのブランチに統合するときにあなたが '-dw'オプションを使用して解決することを確認するのが簡単な解決策です。 :) –

関連する問題