変更を元に戻す
バージョン2017.1以降のHelixサーバでは、以下の変更を元に戻すことができます。
- 特定のチェンジリストまたはリビジョンに対する1つの変更(後続の変更はそのまま)。
- 一連のチェンジリストや日付に対する複数の変更、または自分が所有している特定のラベルに対する複数の変更(後続の変更はそのまま)。
-
最新バージョンに対する、選択したチェンジリスト、日付、ラベルのすべての変更。サブミットしたファイルが、ディポ内の新しい最新リビジョンになります。
Helixサーバでp4 undo
コマンドを実行しても、反映レコードが元に戻ることはありません。P4Vでマージイベントを元に戻した場合、変更は元に戻りますが、反映履歴については元に戻りません。
[変更を元に戻す]ダイアログの表示内容は、選択項目(ワークスペース、ディポフォルダ、ディポファイル、チェンジリスト、リビジョン、ラベル)に応じて異なります。以下に例を示します。
- チェンジリストで[変更を元に戻す]ダイアログを表示すると、特定のサブフォルダを参照して、そのサブフォルダ内のファイルだけを操作対象として絞り込むことができます。選択したチェンジリストと一致するフォルダを選択する必要があります。
- リビジョンで[変更を元に戻す]ダイアログを表示すると、選択したリビジョンに基づいてダイアログの表示内容が設定されます。選択したリビジョンだけを元に戻すことも、リビジョンの範囲を指定して元に戻すことも(いずれも、後続の変更はそのまま残す)、選択したリビジョンから最新リビジョンディポ内のファイルの最新リビジョン。ファイルリビジョンには昇順で番号が割り振られるため、最新リビジョンはそのファイルで一番大きい番号の付いたリビジョンです。に至るまでのすべての変更を元に戻すこともできます。
- フォルダで[変更を元に戻す]ダイアログを表示した場合は、特定のリビジョンやチェンジリストに基づいて操作を行うのか、チェンジリスト、日時、またはラベルに基づいて操作を行うのか(一連の変更を元に戻す場合)を指定する必要があります。
一連の変更を元に戻す場合は、[元に戻す]オプションで以下の項目を選択すると、処理範囲が定義されます。
- リビジョン番号ファイルのどのリビジョンを参照しているかを示す番号。通常は、#記号とともに指定します。を指定した場合は、選択したリビジョンから最新リビジョンまでが処理範囲になります。
- 選択したディレクトリでラベルユーザ指定のファイルリビジョンのリストに名前を付けたもの。を選択した場合は、各種ファイルのラベルリビジョン番号がチェックされ、変更が元に戻されます。
- チェンジリストファイル、バージョン番号、ファイルに行われた変更、および行われた変更についての説明のリストです。チェンジリストは、Helixサーバにおけるバージョン化作業の基本単位です。チェンジリストで指定された変更は、チェンジリストがディポにサブミットされるまでディポには保存されません。「アトミックチェンジトランザクション」と「チェンジリスト番号」も参照してください。を選択した場合は、そのチェンジリストから最新のチェンジリストまでが処理範囲になります。
- 日時を選択した場合の範囲は、その日時から現在の時刻までが処理範囲になります。
変更をサブミットする前に、元に戻す操作をプレビュー表示することができます。リビジョンをキーワード「have」として指定することもできます。その場合、P4Vは、各ファイルの「have」キーワードで指定されたリビジョンに基づき、選択されたディレクトリ内のファイルに対して処理範囲を適用します。
リネーム操作や移動操作を元に戻す場合は、そのリネーム操作または移動操作を実行したチェンジリスト上で、[元に戻す]オプションを実行してください。正しくないチェンジリスト上でこのオプションを実行すると、P4Vによってエラーメッセージが表示されます。p4 moveコマンドとp4 rename
コマンドの動作は不可分です。「移動/追加」と「移動/削除」のペアを分割できすることはできません。
P4Vにより、ファイルの状態が以下のように復元されます。
- 編集されたファイル: チェンジリストのサブミット時に作成されたリビジョンの前のリビジョンがP4Vによって復元されます。
- 削除されたファイル: 削除前のリビジョンがP4Vによって復元されます。
- 追加されたファイル: チェンジリストによって追加されたファイルがP4Vによって削除されます。
バージョン2016.2以前のHelixサーバで変更を元に戻す場合は、バージョン2017.2のP4Vユーザーガイドの「チェンジリストのサブミットを反転する」に記載されている手順を実行してください。
元に戻す操作を実行するには、以下の手順を実行します。
-
以下のうちいずれか1つを選択します。
- ディポツリーまたはワークスペースツリーに表示されている1つのフォルダ
- ディポツリーまたはワークスペースツリーに表示されている1つのファイル
- ファイルの[履歴]タブに表示されている1つのファイルリビジョン
- [サブミット済み]タブに表示されている1つのサブミット済みチェンジリスト
-
[アクション]メニューで[変更を元に戻す]を選択します。
-
[変更を元に戻す]ダイアログで、1つの変更だけを元に戻すのか、一連の変更を元に戻すのか、選択した位置以降のすべての変更を元に戻すのかを、必要に応じて選択します。
- 上記の選択内容に応じて、リビジョン、チェンジリスト、日時、またはラベル(あるいはこれらの範囲)を指定します。
- 新規または既存のチェンジリストに変更をチェックアウトするかどうかを指定します。
- 変更による影響を受けるファイルを確認する場合は、[プレビュー]をクリックします。
-
以下のいずれかを実行します。
- 元に戻す変更をサブミットすることなく、指定のチェンジリスト内にその変更を反映するには、[チェンジリストに保存]をクリックします。
-
指定したファイルをチェックアウトしてすぐにサブミットするには、[サブミット]をクリックします。これにより、[チェンジリストをサブミット]ダイアログボックスが表示されます。
[チェンジリストをサブミット]ダイアログボックスには、「<path to file or folder>をリビジョン3に戻します」などのコメントがデフォルトで表示されます。
[サブミット]をもう一度クリックし、ファイルが含まれているチェンジリストをサブミットします。
P4Vによって変更がサブミットされます。