web-dev-qa-db-ja.com

perforce:以前のリビジョンに同期

修正をテストして、修正前と現在の動作を比較したい。以前のバージョンに同期する必要があります。したがって、修正がリビジョンxでコミットされた場合。 x0のように、以前に1つのリビジョンに同期するにはどうすればよいですか?

26
Asad Iqbal

質問を書きながら答えを見つけました。努力しています:

p4 sync ...@x0 

ここで、x0は修正を含む変更前の変更リストです。しかし、一部のファイルだけが元に戻されていました。指定すると、そのフォルダーとサブフォルダー内のファイルのみが同期されるという問題が見つかりました。したがって、上記のコマンドはワークスペースのルートから実行する必要があります。

9
Asad Iqbal

リビジョン 'n + 1'(ロールバック)からリビジョン 'n'に戻りたいとします。次の手順を実行できます。

  1. p4同期... @ n

    これにより、ファイルが必要な古いバージョンに同期されます

  2. p4編集...

    すべてのファイルを編集用に開くか、「p4 edit filename」を実行して、特定のファイルのみを編集用に開きます。

  3. p4同期... @ n + 1

    送信する前に、ファイルをリポジトリの最新リビジョンに同期する必要があります。

  4. p4 resolve -ay

    これにより、行った変更が受け入れられます。つまり、リビジョン「n」から「n-1」に移動したときに行われたすべての変更が元に戻ります。つまり、ローカルリポジトリのすべてのファイルがリビジョン 'n'にロールバックされました。

  5. p4提出...

    先に進んで、変更を送信してください。これにより、すべてのメインリポジトリがリビジョン「n」にロールバックされます。事実上、リビジョン「n」と「n + 2」(現在)は同じになります。

  6. p4 diff2 -qリポジトリ@nリポジトリ@ n + 2

    これは、ファイルをロールバックしたかどうかを確認するだけです。これは、2つのリビジョンに異なるファイルがないことを示しています。

私はこの link から解決策を見つけました。

12
Elpis

特定のファイルの特定のバージョン番号(チェンジリスト番号ではない)を同期する場合。これは私のために働きました:

p4 sync //your/depot/path/and/file.name#1

必要なバージョンであることを確認するには、have cmdを使用できます

p4 have //your/depot/path/and/file.name
3
Chad Dienhart