修正をテストして、修正前と現在の動作を比較したい。以前のバージョンに同期する必要があります。したがって、修正がリビジョンxでコミットされた場合。 x0のように、以前に1つのリビジョンに同期するにはどうすればよいですか?
質問を書きながら答えを見つけました。努力しています:
p4 sync ...@x0
ここで、x0は修正を含む変更前の変更リストです。しかし、一部のファイルだけが元に戻されていました。指定すると、そのフォルダーとサブフォルダー内のファイルのみが同期されるという問題が見つかりました。したがって、上記のコマンドはワークスペースのルートから実行する必要があります。
リビジョン 'n + 1'(ロールバック)からリビジョン 'n'に戻りたいとします。次の手順を実行できます。
p4同期... @ n
これにより、ファイルが必要な古いバージョンに同期されます
p4編集...
すべてのファイルを編集用に開くか、「p4 edit filename」を実行して、特定のファイルのみを編集用に開きます。
送信する前に、ファイルをリポジトリの最新リビジョンに同期する必要があります。
これにより、行った変更が受け入れられます。つまり、リビジョン「n」から「n-1」に移動したときに行われたすべての変更が元に戻ります。つまり、ローカルリポジトリのすべてのファイルがリビジョン 'n'にロールバックされました。
p4提出...
先に進んで、変更を送信してください。これにより、すべてのメインリポジトリがリビジョン「n」にロールバックされます。事実上、リビジョン「n」と「n + 2」(現在)は同じになります。
p4 diff2 -qリポジトリ@nリポジトリ@ n + 2
これは、ファイルをロールバックしたかどうかを確認するだけです。これは、2つのリビジョンに異なるファイルがないことを示しています。
私はこの link から解決策を見つけました。
特定のファイルの特定のバージョン番号(チェンジリスト番号ではない)を同期する場合。これは私のために働きました:
p4 sync //your/depot/path/and/file.name#1
必要なバージョンであることを確認するには、have
cmdを使用できます
p4 have //your/depot/path/and/file.name