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