2

検索を試みましたが、コマンド ラインから p4v diffdialog を実行するためのパラメータが見つかりません。

以下の作品:

% p4v.exe -cmd "diffdialog //depot/filepath/file#13"

しかし、ファイルの 2 つのバージョンを比較できるようにしたいと考えています。

たとえば、同じファイルのバージョン 10 とバージョン 13 を比較できるようにしたいと考えています。

次のようなさまざまな組み合わせを試しました。

% p4v.exe -cmd "diffdialog //depot/filepath/file#10 //depot/filepath/file#13"

および他のバリエーションですが、ファイルを開くための引数として行全体を解析しようとしているようです。

そのため、フラグなどを使用してソース/宛先ファイルとバージョンを指定する必要があるのではないかと考えていますが、これに関するドキュメントが見つかりません。

4

3 に答える 3

2

最近、同じ問題に遭遇しました (2 つのファイルを比較したいのですが、ワークスペースのリビジョンを過去のリビジョンと常に比較したかったのです)。

大きな課題は、必要なファイルを指定できる唯一の方法が p4 または p4v コマンドを使用することだったということでした。p4v コマンドは、差分操作に 2 つの引数を受け入れません。また、リビジョンを指定した場合でも、現在のリビジョンではなく、次のリビジョンとのみ差分をとります。

p4 diff は、指定されたリビジョンを自分のワークスペース バージョンと比較しますが、出力がテキスト ベースのみであることが問題でした。

ドキュメント( http://www.perforce.com/perforce/doc.current/manuals/cmdref/diff.html#1040665 )を読んでいるときに、次の行に出くわしました:

デフォルトで使用される diff ルーチンは、p4 コマンドライン アプリケーションに組み込まれているものです。この diff ルーチンを外部の diff プログラムに変更するには、P4DIFF 環境変数が新しいプログラムを指すように設定します。

(詳細については、http://www.perforce.com/perforce/doc.current/manuals/cmdref/env.P4DIFF.html#1040647を参照してください)

そこで直感で、その環境変数を自分の WinMerge ディレクトリに向けることにしました。驚くべきことに、うまくいきました!次に、これを p4merge クライアントに向けることができるかどうかを考えましたが、それも同様に機能します。唯一の (非常に住みやすい) 制限は、以前のバージョンが .xml ではなく一時ファイルとして表示されることです。

于 2013-09-25T15:28:51.177 に答える
0

チェックアウトしたファイルに対してこれを実行したところ、差分 GUI ウィンドウがポップアップ表示されました。

p4v -cmd 'diff //main/dev/myfile.py'

いくつかのキャビア:

  1. すでに P4 にログインしている必要があります (p4 login コマンドでログインできます)。
  2. 起動時に [接続を開く] ダイアログ ボックスが表示されないようにする必要があります。
于 2013-08-15T00:13:37.250 に答える
0

このコマンドでは、次の 2 つのファイルを指定できません。

http://answers.perforce.com/articles/KB_Article/Invoking-P4V-from-the-command-line

ただし、この操作をスクリプト化することはできます。を呼び出しp4 printて、比較する 2 つのファイルを取得し、p4merge を使用してそれらを比較できます。

于 2013-05-01T14:07:08.070 に答える