1

私のプログラムは、PERFORCEが提供するJava APIを使用して、PERFORCEリポジトリからファイルのリストを読み取る必要があります。このプログラムは、共有の読み取り専用ログインを使用し、クライアントワークスペースを使用せずにファイルをフェッチします。

これはすべて正常に機能しますが、私が抱えている問題は、ファイルが常に\ r\n行末でチェックアウトされているように見えることです。さまざまないたずらなハックを試しましたが(たとえば、Systemプロパティline.separatorを\ nに設定)、これらは機能しません。p4vクライアントの行末スタイルがワークスペースで設定されていることに気づきました。行末のスタイルを設定するためのワークスペースが必要ですか?

残念ながら、変更されないファイルがいくつかあり、それらをバイナリとしてコミットすることはできますが、取得した他のファイルをバイナリとしてコミットすることはできません。

4

1 に答える 1

3

はい - ローカル ファイルの行末は、「同期」を呼び出すときのクライアント (別名ワークスペース) 設定によって決定されます。同期もクライアントも使用せずにファイルをフェッチする場合は、ファイルを「印刷」する必要があります。その場合、行末の翻訳を自分で行う必要があります。

おそらく、一時クライアントを作成することでファイルを同期できます。 その例を次に示します (メソッド P4PublishTransaction を参照)。

于 2013-03-05T15:32:56.667 に答える