28

編集用に開かれていないが、ローカルで変更されているファイルを検出する方法を見つけようとしています。任意のファイルp4 fstatの値を返しますが、これはデポ内の変更時間であり、ファイルシステムの最後に変更された時間と同じであってはなりません。headModTimestat

元のファイルをバックアップし、ファイルの同期を強制してからdiffを実行するよりも、より軽量な操作が存在することを期待しています。アイデア?

4

5 に答える 5

25

出典: http://answers.perforce.com/articles/KB/3481/?q=disconnected&l=en_US&fs=Search&pn=1

具体的には、ステップ 2 を参照してください。


2. 次に、変更されたファイルを「編集」するために開きます。

p4 diff -se //myclient/... | p4 -x - edit

p4 diff -se は、対応するクライアント ファイルがクライアント #have リビジョンと何らかの形で異なるディポ ファイルの名前を返します。

于 2008-11-05T21:41:56.960 に答える
22

This SO questionは、P4V GUIでこれを行う方法を提供します:

P4V の 2009 年 1 月バージョンでは、ワークスペース ツリー内の任意のフォルダーを右クリックし、[オフライン作業の調整...] をクリックできます。

これにより、少し処理が行われ、チェックアウトされていないがデポ バージョンとは異なるファイル、またはまったくチェックインされていないファイルの分割ツリー ビューが表示されます。それがもたらす他のいくつかのカテゴリさえあるかもしれません.

このビューでファイルを右クリックして、チェックアウト、追加、元に戻すこともできます。

後で編集:

[調整...] ウィンドウで [高度な調整] をクリックすると、追加する必要のあるファイルを見つけるのに特に役立つ 2 ペインのフォルダー階層差分ウィンドウが表示されます。

長所: この P4V 機能全体は、コマンドライン バージョンよりもユーザー フレンドリーです (調整する対象を最大限に細かく選択できるため)。

短所: subversion/git/hg の.ignoreようなリストが切実に必要です。これは、プロジェクト内のすべての dll やその他のクラフトを手動でスキップする手間を省くためです。

于 2009-06-18T16:06:13.647 に答える
3

Perforce バージョン 2012.1 以降では、コマンド ライン コマンドp4 statusp4 reconcile

http://www.perforce.com/perforce/r12.2/manuals/cmdref/status.html

このp4 statusコマンドは、クライアントのワークスペースで開かれていないファイルを見つけ、ワークスペースとデポの間の次の 3 つのタイプの不整合を検出します。

  1. ディポに存在し、持っているリストに存在するが、ワークスペースにないファイル。デフォルトでは、これらのファイルは削除のために開かれます。
  2. ワークスペースには存在するが、デポにないファイル。デフォルトでは、これらのファイルは追加用に開かれています。
  3. 編集用に開かれていないワークスペースで変更されたファイル。デフォルトでは、これらのファイルは編集用に開かれています。

http://www.perforce.com/perforce/r12.1/manuals/cmdref/reconcile.html

于 2012-10-29T18:25:07.737 に答える
2

切断された作業の記事から、p4win を使用して、問題のフォルダー/ファイルを選択し、「ファイル メニュー -> 詳細 -> 一貫性のチェック」を選択して、基本的に「p4 diff -se」および「p4 diff -sd」を実行することもできます。不整合を解決するようにユーザーに促します。

于 2008-11-21T06:34:23.673 に答える
0

これが私にとって非常にうまく機能したUNIXソリューションです。

PERFORCEツリーで追跡されていないファイルを見つける方法は?(svnステータスのアナログ)

于 2011-02-09T19:20:16.110 に答える