prune コマンドは、リビジョン制限ルール を管理します。これはパターンごとのルールで、一致するファイルの最新 N バージョンだけを残し、それより古いものをプルーニングします。概念、ブランチセーフなカウント、および glob 構文については、リビジョン制限ガイド を参照してください。
プルーニングは古いファイルバージョンを完全に削除し、元に戻すことはできません。プルーニングは各コミットの後に自動的に実行され、プロンプトはありません。動作を当てにする前に、dv prune list でリポジトリのルールを確認してください。
要件:
- 組織管理者 である必要があります。
- リビジョン制限は Git と同期しているリポジトリではサポートされていません。
ルールは順序付きリストです。複数のルールがパスに一致する場合、最後に一致したルールが優先されます。ルールを追加すると、末尾(最高優先度)に追加されます。各ルールにはサーバーが割り当てる id があり、list がこれを表示し、set / remove はこれを引数に取ります。
list
すべてのルールを優先度順に表示します。
ルールごとに ID、PATTERN、KEEP 列を出力します。KEEP は数値、またはすべてのバージョンを保持するルールの場合は all です。ルールがない場合は、No retention rules configured. と出力されます。
list はデフォルトのサブコマンドです — 単に dv prune としても同じことを行います。
add
ルールを追加します。
<pattern> はリポジトリルートに固定された glob です(例: /Assets/....psd)。ワイルドカードがシェルによって展開されないように、クォートで囲んでください。glob 構文 を参照してください。
--keep は必須です:
<N> — 最新の N バージョンを保持します(1 から 999)。
all — すべてのバージョンを保持します(プルーニングしません)。より広い制限からパスを除外するために使用します。
新しいルールは末尾に追加されるため、以前に一致したルールよりも優先されます。
例:
set
id でルールを編集します。
<id> は dv prune list からのルール id です。--keep、--pattern、またはその両方を渡します — 少なくとも 1 つは必要です。
例:
remove
id でルールを削除します。
例:
注意事項
- ルールを追加すると、将来の コミットに適用されます。すでに新しい制限を超えているバージョンはプルーニングされません。それらは、一致するファイルに対する後続のコミットが行われた際にプルーニングされます。
- プルーニングは各コミットの後にバックグラウンドで実行され、コミッターに対しては無音(サイレント)で行われます。
完全な概念ガイドと Perforce +S からの移行については、リビジョン制限 を参照してください。