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

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

3 ответов


Я нашел ответ во время написания моего вопроса. Я пытался:

p4 sync ...@x0 

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


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

  1. синхронизация p4 ...@n

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

  2. П4 изменить ...

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

  3. синхронизация p4 ...@n+1

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

  4. P4 resolve-ay

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

  5. П4 представить ...

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

  6. P4 diff2-Q репозиторий@N репозиторий@n+2

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

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


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

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

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

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