Объединение отложенного списка изменений в ветку

У моего коллеги есть отложенный список изменений (CL#12345), который включает правки и новые (добавленные) файлы. Все файлы живут внутри:

//software/my_luggage/main/...

Я хотел бы unshelve эти изменения и применить их к ветке, расположенной по адресу:

//software/my_luggage/beta/...

Я попытался просто сгенерировать и вручную применить патч через:

p4 describe -S 12345 > ~/tmp.patch

Однако у этого есть две проблемы:

  1. Патч необходимо преобразовать в общий формат Unix diff, аналогичный выводу p4 diff -du (у меня есть скрипт для этого).
  2. Выходные данные операции p4 describe не содержат содержимого новых/добавленных файлов.

Есть ли простой способ p4 unshelve отложенного списка изменений и изменить место назначения, где полка будет «применена», или мне нужно вручную копировать и повторно добавлять файлы, вручную исправлять отдельные файлы и т. д.? Я бы предпочел сделать это через командную строку, а не через P4V GUI, если это возможно.


person Cloud    schedule 21.06.2017    source источник


Ответы (1)


Сделайте спецификацию ветки с помощью:

Branch: luggage_beta
View:
    //software/my_luggage/main/... //software/my_luggage/beta/...

Бегать:

p4 unshelve -b luggage_beta -s 12345
p4 resolve

Вам понадобится сервер Perforce 2013.1 или более поздней версии:

Major new functionality in 2013.1

    #538913 (Bug #36686) **
        Shelved changes may now be unshelved into different branches
        or related streams via 'p4 unshelve -b' and 'p4 unshelve -S'.  
        See 'p4 help unshelve'.
person Samwise    schedule 21.06.2017