1

私は P4COM を使用して perforce サーバーと通信しています。あるリリースから別のリリースに変更されたファイルの QA を簡素化するための小さなユーティリティを作成しました。Delphi の P4COM インターフェイスを使用しています。ここまでは順調ですね。

ユーザーが p4v に戻るのではなく、私の小さなユーティリティ内からファイルの 2 つのバージョン間の差分を表示できるようにした方がよいかもしれません。そのため、p4COM と次のコマンドを使用して、各リビジョンのファイルを印刷 (取得) します。

print -o "E:\Development\TempProjects\p4Changes\temp\File_dispatch.pas#25" "//depot/mydepotpath/File_dispatch.pas"#25

print -o "E:\Development\TempProjects\p4Changes\temp\File_dispatch.pas#26" "//depot/mydepotpath/File_dispatch.pas"#26

ただし、P4COM を使用してアプリからこれを行うと、ランダムなファイルを取得しているように見えます (削除されたように見えます)。コマンドラインからまったく同じコマンドを実行すると、完璧な結果が得られます。これらの両方を実行すると、ファイルが返され、必要な場所にディスクに正しくダンプされますが、要求したファイルではありません。

何か案は?

4

2 に答える 2

1

コマンド文字列のバックスラッシュの問題でしょうか? これはコマンド ラインでは正常に機能しますが、使用している言語コンパイラによって、1 つのバックスラッシュがエスケープ コードとして解釈される可能性があります (C または C++ の場合、これは間違いなく問題を引き起こします。 P4COM側)。

バックスラッシュを 2 つ使用してみて、問題が解決するかどうかを確認してください。

于 2008-10-03T23:18:29.393 に答える
0

これは Perforce のソフトウェアのバグのように聞こえるので、Perforce サポート自体に問い合わせたほうがよいでしょう。

補足として: なぜ p4v を使用するのですか? (私自身はp4winを非常に好みます)

于 2008-10-03T06:01:43.577 に答える