В чем разница между "Откат ..." и "Отменить отправленный список изменений #####" в Perforce P4V - PullRequest
196 голосов
/ 05 мая 2010

Я хочу отменить изменения одного из моих чеков.В контекстном меню правого клика конкретного списка изменений есть две опции:

  • Откат ...
  • Отменить отправленный список изменений

В чем разница между этими двумя?В каких ситуациях я должен использовать один из них?

Ответы [ 6 ]

221 голосов
/ 05 мая 2010

Обе эти операции восстанавливают набор файлов до прежнего состояния и являются существенно более быстрыми и более безопасными способами удаления ошибок, чем использование команды p4 obliterate (и вам не нужен доступ администратора для их использования).

В случае «Откат ...» это может быть любое количество файлов, даже целое хранилище. Вы можете сказать ему, чтобы откат к определенной ревизии, списку изменений или метке. Файлы возвращаются в состояние, в котором они находились во время создания этой ревизии, списка изменений или метки.

В случае «Отменить отправленный список изменений #####» операция восстановления ограничена файлами, которые были отправлены в список изменений #####. Эти файлы будут восстановлены до того состояния, в котором они находились до отправки вами списка изменений, при условии, что с тех пор в эти файлы не было внесено никаких изменений. Если последующие изменения были внесены в любой из этих файлов, Perforce сообщит вам, что эти файлы устарели. Вам придется синхронизировать с ревизией головы, а затем устранить различия. Таким образом, вы не будете случайно изменять любые изменения, которые хотите сохранить.

Обе операции работают, по сути, представляя старые ревизии как новые ревизии. Когда вы выполняете «Откат ...», вы восстанавливаете файлы в состояние, в котором они находились в определенный момент времени , независимо от того, что с ними произошло с тех пор. Когда вы выполняете «Back out ...», вы пытаетесь отменить изменения, внесенные вами в определенный момент времени , сохраняя при этом те изменения, которые произошли с тех пор.

16 голосов
/ 04 июля 2012

Отмена отправки списка изменений

Вы не можете отменить успешную отправку списка изменений, но вы можете отменить ранее представленные изменения двумя способами:

Откат восстанавливает файл или набор файлов обратно в указанный список изменений, дату или ревизию. Любые изменения, сделанные после этого момента, не сохраняются. Отмена удаляет определенные изменения, внесенные в данный список изменений, дату или исправление, но позволяет пользователю сохранять изменения, внесенные в последующие исправления.

Подробнее см. https://www.perforce.com/perforce/r13.1/manuals/p4v/Working_with_changelists.html

8 голосов
/ 25 июня 2013

Backout восстанавливает или отменяет наши изменения. Таким образом, P4 отменяет изменения в списке изменений (по умолчанию или новые) в нашей локальной рабочей области. Затем мы должны отправить / зафиксировать этот резервный список изменений, как и другие списки изменений. Здесь важна вторая часть, поскольку она не выполняет автоматическое резервное копирование списка изменений на сервере, мы должны представить резервный список изменений (что имеет смысл после того, как вы это сделаете, но я изначально предполагал, что это происходит автоматически).

Как указали другие, откат обладает большими возможностями - он может восстанавливать изменения к определенной дате, списку изменений или ревизии #

4 голосов
/ 05 мая 2010

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

2 голосов
/ 21 мая 2016

Я объясняю это пользователям, сравнивая списки изменений Perforce со стеком (из структур данных).

При удалении удаляется один элемент из любой части стопки.

Откат удаляет n элементов с вершины стека.

0 голосов
/ 12 января 2017

В самом простом случае разница состоит в множественности:

  • Backout отказывается от одного списка изменений (будь то самые последние или нет). то есть он отменяет один список изменений.
  • Откат откатывает изменения настолько, насколько необходимо для перехода к предыдущему списку изменений. то есть он отменяет несколько списков изменений.

Раньше я забывал, что есть кто, и в конечном итоге мне приходилось искать его много раз. Чтобы решить эту проблему, представьте, что откат выполняется в несколько поворотов, и, надеюсь, тот факт, что откат во множественном числе, поможет вам (и мне!) Вспомнить, какой из них есть какой. Backout звучит «менее множественно», чем откат для меня. Представьте себе выезд из одного парковочного места.

Итак, мнемоника:

  • Откат & rarr; несколько оборотов
  • Backout & rarr; выезд из одного места для парковки

Надеюсь, это поможет!

...