Как я могу захватить свой локальный журнал изменений и отправить его кому-то еще в Perforce?
Как я могу захватить мой локальный список изменений и отправить его кому-то еще в Perforce? В частности, я хотел бы отправить непредвиденные изменения из локального ожидающего списка изменений другому пользователю, ожидающему изменения в списке изменений.
Ответы
Ответ 1
set P4DIFF=C:\cygwin\bin\diff.exe
p4 diff -du -c 12345 > patch-to-head.diff
# On Other machine
patch -p1 < patch-to-head.diff
Я могу ошибаться в env var там, и вам может понадобиться сделать некоторые исправления в файле diff, но общая идея заключается в том, что вы создаете Unified Diff GNU, который вы можете отправлять людям, которые могут использовать патч GNU для его применения.
Ответ 2
P4 теперь имеет встроенную поддержку для работы в полке в 2009 году. Для использования этого клиента и сервера должен быть не менее 2009.2.
http://blog.perforce.com/blog/?p=1872
Ответ 3
Не уверен, что именно вы пытаетесь сделать, но вы также можете рассмотреть P4_Shelve. Это позволяет накладывать нагрузку на ожидающие изменения на виртуальную полку, а затем снова захватывать их позже. В зависимости от того, что именно вы хотите достичь, отправив список изменений кому-то еще, это может стать частью ответа.
Связанный с сайтом P4Shelve P4Tar, который также может быть полезен - это делает всю упаковку на стороне клиента, чтобы вы просто оставайтесь с файлом, который вы можете отправить кому-то другому.
Ответ 4
Чтобы отложить свой ожидающий список изменений ВАШ БАНК:
p4 shelve [-c YOURCHANGE]
Затем другой пользователь:
p4 unshelve -s YOURCHANGE [-c THEIRCHANGE]
В любом случае аргумент -c "может быть опущен вместо использования списка изменений по умолчанию. В случае p4 shelve
это означает, что будет создан новый журнал изменений, и файлы в вашем списке изменений по умолчанию будут отложены в него; в случае p4 unshelve
это означает, что отложенные файлы из вашего списка изменений будут удалены в другой список изменений по умолчанию.
Ответ 5
Perforce 2016, osx. Diff для ожидающего списка изменений:
mac:src user$ cl=123456 && p4 diff -du $( p4 files @=$cl | sed s/#.*// ) > $cl.diff
вывод: 123456.diff
Применение патча:
mac:src user$ patch -p0 < 123456.diff