Helix Core P4コマンドリファレンス (2019.1)

p4 revert

作業状態のファイルに対する変更内容を破棄する場合や、作業状態のストリーム仕様を元に戻す場合に、このコマンドを使用します。

構文

p4 [g-opts] revert [-a -n -k -w] [-c change] [-C client] [--remote=remote] file ...
p4 [g-opts] revert [-a -n -k -w] [-Si] [-c change] [-C client] [--remote=remote] file ...
p4 [g-opts] revert -So [-c change]

説明

p4 revertは、作業中のファイルに加えられた変更を廃棄し、p4 syncでディポから最後に同期させたリビジョンに戻します。 また、元に戻したファイルを関連する作業中チェンジリストから削除します。 管理者は-Cオプションを使用することにより、他のユーザの作業状態のファイルを元に戻すことができます。

  • p4 deleteにより作業状態にしたファイルを元に戻すと、そのファイルはクライアントワークスペース内に復元されます。
  • p4 addにより作業状態にしたファイルを元に戻すと、Helixサーバはクライアントワークスペースのファイルには何も行いません。
  • p4 integrateにより作業状態にしたファイルを元に戻すと、Helixサーバはクライアントワークスペースからそのファイルを削除します。
  • p4 moveにより作業状態にしたファイルを元に戻すと、move/add目的で作業状態にしたファイルのみが元に戻ります。

ホスト名は暗示され、ユーザ名は必要ありません。

ストリームとp4 revertコマンド

バージョン2019.1には、作業状態のストリーム仕様を元に戻すための-Siオプションと-Soオプションが導入されています。

デフォルトの場合、作業状態のストリーム仕様が元に戻されることはありません。

ファイルを処理する場合のオプション

-a

作業状態になってから(内容またはファイルタイプが)変更されていないファイルのみを元に戻します。

元に戻されるのは、次のクライアントリビジョンを持っているファイルのみになります。

  • 編集目的のため作業状態にあるが、内容とファイルタイプが未変更であるファイル。
  • p4 integrateにより反映の目的で作業状態になったが、p4 resolveによる衝突解決がまだ行われていないファイル。
  • 追加目的のため作業状態にあるが、ワークスペースから失われているファイル。

    追加目的のため作業状態にあり、ワークスペースから失われているが、作業中の反映があるファイルは、元に戻りません。

-c change

指定されたチェンジリスト内のファイルのみを元に戻します。

クライアントワークスペース内の指定された変更にあるすべてのファイルを元に戻します。

$ p4 revert -c 345627 "//..."

-C client

他のユーザの作業状態のファイルを元に戻します。 このオプションは、-k-H、および-uオプションを意味します。 -H-uはグローバルオプションです。

クライアントワークスペース内の単一のファイルを元に戻します。

$ p4 revert -C bruno_ws //depot/www/dev/Jam.html

クライアントワークスペース内のすべてのファイルを元に戻します。

$ p4 revert -C bruno_ws //...

このオプションは、エッジサーバで保持されている排他的ロックの解除にも役立ちます。 その場合、コマンドでクライアントが存在するエッジサーバを示す必要があります。 以下に例を示します。

$ p4 revert -C SusanClient //depot/src/x.cc

このオプションは、古いユーザのワークスペースのクリーンアップにも大変役立ちます。削除を行う前に、ワークスペースの作業中のファイルを元に戻す必要があります。

-k

ワークスペースファイルを保存します。ファイルはチェンジリストから削除され、現在は作業状態にないことがHelixサーバに記録されますが、クライアントワークスペース内では変更されません。

-n

実際に元に戻す操作は実行せず、元に戻した場合の結果を一覧表示します。

このオプションにより、事前に元に戻したときの結果を確認できます。

--remote=remote

個人サーバのファイルを元に戻します。また、ファイルタイプが+lの場合、そのファイルのクローン元となった共有サーバ上で、 そのファイルに対するグローバルな排他的ロックを解除します。

詳細については、『分散バージョニング環境におけるHelix Coreサーバの利用』の「フェッチとプッシュ」の章のセクション、排他的ロックのサポートに関する説明を参照してください。

詳細については、『分散バージョニング環境におけるHelix Coreサーバの利用』の「フェッチとプッシュ」の章のセクション、「個人サーバでの排他的ロックのサポート」に関する説明を参照してください。

-w

add目的で作業状態になっているファイルは、元に戻されるとワークスペースから削除(ワイプ)されます。

g-opts

詳細については、グローバルオプションを参照してください。

ストリームを処理する場合のオプション

-Si

指定したファイルリストを元に戻す場合に、作業状態のストリーム仕様も元に戻されます。

-So

作業状態のストリーム仕様のみが元に戻されます。 ファイルリストが元に戻ることはありません。

使用上の留意点

ファイル引数にリビジョン指定子を使えるか? ファイル引数にリビジョン範囲を使えるか? 最低限必要なアクセスレベル

使用不可

使用不可

list

  • p4 revert は通常、ファイル引数を必要とするという点で、他のほとんどのHelixサーバコマンドと異なります。 コマンドラインのファイル引数とクライアントビューの共通部分にあるファイルが元に戻されます。

    -aオプションを使用している場合、ファイル引数を指定する必要はありません。

  • edit目的で作業状態にしたファイルを元に戻すと、ファイルが作業状態にされてからユーザが加えたすべての変更が上書きされます。 p4 revertを実行する前に、p4 revert -nによって結果を確認するとより安全です。

ストリーム仕様を元に戻す場合のコマンド例

p4 revert -Si ... 現在の作業中ストリーム仕様を含め、デフォルトのチェンジリストに含まれているすべてを元に戻します。
p4 revert -So デフォルトのチェンジリストに含まれている現在の作業中ストリーム仕様のみを元に戻します。
p4 revert -Si -c 987654321 ... 指定された番号のチェンジリストに含まれているすべてを元に戻します。
p4 revert -So -c 987654321 指定された番号のチェンジリストに含まれている作業中ストリーム仕様のみを元に戻します。
p4 revert -Si foo デフォルトのチェンジリストに含まれている現在の作業中ストリーム仕様と作業中ファイルを元に戻します。
p4 revert -Si -c 987654321 foo 指定された番号のチェンジリストに含まれている現在の作業中ストリーム仕様と作業中ファイルを元に戻します。

p4 revert foo

デフォルトのチェンジリストに含まれているファイルのみを元に戻します(ストリーム仕様は除外されます)。

p4 revert -c 987654321 foo

指定された番号のチェンジリストに含まれているファイルのみを元に戻します(ストリーム仕様は除外されます)。

関連コマンド

ディポに追加するファイルを作業状態にする

p4 add

削除するファイルを作業状態にする

p4 delete

すべての作業状態のファイルをディポにコピーする

p4 submit

ディポからクライアントワークスペースへファイルを読み込む

p4 sync

すべての作業状態のファイルを一覧表示する

p4 opened

Helixサーバがユーザのファイルであると判断したファイルを、クライアントワークスペースと強制的に同期させる。その際、作業状態にない書き込み可能なファイルはすべて上書きされる。

p4 sync -f