Я только что отправил список изменений Perforce (p4), в который мне нужно внести небольшие изменения, чтобы исправить сборку. Как мне отменить отправку недавно отправленного списка изменений p4?
Вы можете использовать синхронизацию p4 и редактировать / разрешать / отправлять, чтобы откатить отправленный список изменений. Подробные инструкции см. На: https://community.perforce.com/s/article/3474
Надеюсь, это поможет.
С 2016.2 новая команда p4 undo
предоставляется, чтобы упростить отмену одного или нескольких списков изменений.
Например,
p4 undo @12345
Эта команда откроет в вашем рабочем пространстве файлы, измененные в Changelist 12345. Эти файлы будут иметь содержимое, соответствующее их предыдущим редакциям. После отправки открытых файлов действие Changelist 12345 отменяется.
p4 undo
также поддерживает диапазоны ревизий для одновременной отмены нескольких списков изменений.
Обратите внимание: если файлы были изменены после предоставленного списка изменений, вам потребуется p4 sync
и p4 resolve
файлы как обычно.
Смотрите здесь для получения дополнительной информации: https://www.perforce.com/perforce/doc.current/manuals/cmdref/Content/CmdRef/p4_undo.html
# source: https://community.perforce.com/s/article/3474
prevcl=`expr $1 - 1`
echo previous $prevcl
p4 sync @$prevcl
# open all of the edited files
for name in `p4 describe -s $1 | egrep '#[0-9]+ edit$' | cut -f 1 -d# | colrm 1 4`
do
echo "reverting edits to $name"
p4 edit $name
done
# add all of the deleted files
for name in `p4 describe -s $1 | egrep '#[0-9]+ delete$' | cut -f 1 -d# | colrm 1 4`
do
echo "restoring deleted file $name"
p4 add $name
done
p4 sync @$1
p4 resolve -ay
p4 sync
p4 resolve
# delete all of the added files
for name in `p4 describe -s $1 | egrep '#[0-9]+ add$' | cut -f 1 -d# | colrm 1 4`
do
echo "removing added file $name"
p4 delete $name
done