一部のコードを管理するために perforce を使用しています。ローカル マシンと UNIX ボックスにワークスペースをセットアップしました。ただし、最近 perforce が行末に ^M 文字を追加し始めたため、UNIX 環境でコードを実行するときに問題が発生しました。ファイルを編集するときにこれを行わないように、ローカルで perforce を設定するにはどうすればよいですか。Notepad++ を使用してローカルで編集しています
3 に答える
両方のクライアントで Unix の改行を使用することをお勧めします。
Unix の行末は、その名前にもかかわらず、元の送信方法からファイルが同期されるときに行末を変更しないように perforce クライアントに指示します。両方のクライアントでこの設定を使用すると、Windows でファイルを作成し、それを Unix に同期すると、Windows の行末が残りますが、Unix では問題が発生することはなく、perforce は文字を削除/追加しないため、 ^M.
小さな欠点の 1 つは、Windows マシンでは、Notepad++ などの Unix の行末認識ユーティリティが必要になることですが、それは問題のようには思えません。
Unix、Mac、および Windows がすべて同じデポで使用されている私たちのチーム環境では、[Unix] サーバー上の単純な 1 行トリガーによって、すべてのクライアントが Unix 行末に強制されるため、誰もこの問題に苦しむことはありません (強制的にも強制されます)。 submitunchanged と rmdir を削除することもできますが、これらを削除することもできます):
clientspec form-in client "sed -i -e s/LineEnd.*/LineEnd:unix/ -e s/submitunchanged/revertunchanged/ -e s/normdir/rmdir/ %formfile%"
クライアント仕様で LineEnd オプションを「share」に設定する必要があるようです。
参照: http://www.perforce.com/perforce/doc.current/manuals/cmdref/client.html#1040665