1. ホーム
  2. perforce

[解決済み】Perforce P4Vの「Rollback...」と「Back Out Submitted Changelist #####」の違いとは?

2022-04-13 18:18:09

質問

あるチェックインからの変更を元に戻したいのですが、どうすればいいですか?特定のチェンジリストの右クリックコンテキストメニューに、以下の2つのオプションがあります。

  • ロールバック...
  • サブミットされたチェンジリストのバックアウト

この2つの違いは何ですか?また、どのような場面でどちらを使うべきでしょうか?

どのように解決するのですか?

これらの操作はどちらもファイルのセットを以前の状態に復元するもので、基本的に、失敗を取り消す方法としては p4 obliterate コマンドを使うことができます(しかも、管理者権限が必要ありません)。

Rollback..."の場合、これは任意の数のファイルであり、デポ全体であってもかまいません。 特定のリビジョン、チェンジリスト、またはラベルにロールバックするように指示できます。 ファイルは、そのリビジョン、チェンジリスト、またはラベルの作成時にあった状態にリストアされます。

Back Out Submitted Changelist #####"の場合、リストア操作はチェンジリスト###で投稿されたファイルに限定されます。 これらのファイルは、その変更リストを提出する前の状態にリストアされます(ただし、そのファイルに対してその後変更が加えられていないことが条件です)。 これらのファイルにその後変更が加えられた場合、Perforce は、それらのファイルが現在古くなっていることを通知します。 ヘッドリビジョンに同期して、差分を解決する必要があります。 このようにして、実際に残しておきたい変更を不注意で破棄することがありません。

どちらの操作も、基本的に古いリビジョンを新しいリビジョンとして送信することで機能します。 ロールバック..."を実行すると、次のようなことが行われます。 ファイルを特定の時点の状態に戻す。 それ以降に何が起こったかに関係なく、です。 Back out..."を実行する場合、次のことを試みていることになります。 特定の時点で行った変更を元に戻す。 それ以降の変更は維持したままです。