Perforce: синхронизация с более ранней версией

Я хочу проверить исправление и сравнить поведение перед исправлением vs. now; Мне нужно синхронизировать с более ранней версией. Итак, если исправление было зафиксировано в редакции x; как я могу синхронизироваться с одной ревизией раньше, скажем, x0?

Ответы

Ответ 1

Я нашел ответ, когда писал свой вопрос. Я пытался:

p4 sync [email protected] 

где x0 является списком изменений перед изменением, содержащим fix. Но только часть файлов возвращалась. Я обнаружил, что при указании... только файлы в этой папке и вложенных папках синхронизируются. Поэтому выше команда должна выполняться из корня рабочей области.

Ответ 2

Скажите, что вы хотите вернуться к ревизии 'n' из revison 'n + 1' (откат). Вы можете выполнить следующие действия:

  • p4 sync... @n

    Это приведет к синхронизации ваших файлов с более старой версией, которую вы хотите

  • p4 edit...

    Откройте все файлы для редактирования или выполните "p4 edit filename", чтобы открыть только определенный файл для редактирования.

  • p4 sync... @n + 1

    Перед отправкой вам необходимо синхронизировать файлы с последней версией в репозитории.

  • p4 resolve -ay

    Это позволит принять сделанные вами изменения, т.е. вернуть все изменения, сделанные при переходе от версии "n" в "n-1". Таким образом, все ваши файлы были отброшены в ревизию "n" в вашем локальном репозитории.

  • p4 submit...

    Идем дальше и отправляем изменения. Это отбросит весь основной репозиторий до версии 'n'. Эффективно изменения "n" и "n + 2" (ток) будут идентичными.

  • p4 diff2 -q репозиторий @n репозиторий @n + 2

    Это просто, чтобы проверить, вернули ли файлы. Это должно показать, что у вас нет разных файлов в двух версиях.

Я нашел решение из этой .

Ответ 3

Если вы хотите синхронизировать определенный номер версии (не номер списка изменений) для определенного файла. Это сработало для меня:

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

чтобы убедиться, что у вас есть версия, которую вы хотите, вы можете использовать have cmd

p4 have //your/depot/path/and/file.name