Самый быстрый способ отправки отложенного списка изменений

Я отложил список изменений (скажем X), и я обеспечил его правильность. Теперь я хочу отправить список изменений. Я могу

  • p4 unshelve -s X -c Y, где Y - новый список изменений, который я создаю перед выполнением этой команды. Затем p4 shelve -c X -d и, наконец, p4 submit -c Y
  • В противном случае я могу удалить X, удалить полку X и переместить локальные копии в список изменений X (p4 reopen -c X) и отправить X.
  • Последний вариант заключается в том, чтобы исключить X, удалить полку X, изменить p4 (и отредактировать описание) и, наконец, p4 submit

Каковы ваши предложения относительно: -

  • Используйте 1/3, но скопируйте вставить описание, которое X уже имело для новых списков изменений.
  • Используйте 2, но скопируйте каждый открытый файл вручную в команде p4 повторно.

Единственное преимущество 2 более 1 и 3 заключается в том, что мне не нужно удалять X (потому что он оказался моим отправленным списком изменений, а в других случаях он все еще находится в ожидании).

Ответ 1

Самый короткий метод:

$ p4 shelve -c #changelist -d
$ p4 submit -c #changelist

Ответ 2

В новом выпуске сервера Perforce 2013.1 теперь вы можете сделать "p4 submit -e X", который непосредственно отправляет полку, не требуя сначала ее перенести.

Попробуйте, это отличная возможность!

Ответ 3

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

Ответ 4

С Perforce 2013.1 или более поздней версией вы можете напрямую отправить ползунок "12345":

p4 submit -e 12345

В предыдущих версиях используйте эту комбинацию:

p4 unshelve -s 12345
p4 submit ...

Ответ 5

Поскольку это 2018 год, вот обновленный ответ для более новых версий исполнений (2013.1 и новее)

p4 submit -e 123456

Эта команда не будет выполнена, если у вас уже есть открытый список полей в каком-то дереве, например:

Change 123456 has shelved files --  cannot submit

В этом случае доберитесь до корня этого дерева (или используйте -C client_name_where_shelvelist_is_open) и отмените изменения перед выполнением вышеуказанной команды, например так:

p4 revert -c 123456 ...
p4 submit -e 123456