Я не думаю, что это возможно (по крайней мере, без обхода защиты +l
, которая возможна в некоторых конфигурациях сервера), поскольку shelve
работает только с открытыми файлами.
Идея файлов с эксклюзивным открытием (+l
) заключается в том, что, поскольку их невозможно объединить, вы никогда не захотите, чтобы кто-то вносил изменения, основанные на чем-то отличном от последней версии (в том числе на той версии, над которой кто-то сейчас работает). Таким образом, создание полки из файла +l
идет вразрез с этим (поскольку ваша полка будет основываться на текущей редакции депо и не будет включать изменения другого пользователя).
Если это файлтам, где имеет смысл изменить его одновременно, он, вероятно, не должен иметь тип +l
. ИМО тип +l
следует использовать экономно или никогда. Вы можете убедиться, что вам не нужно будет разрешать изменения, используя обычный p4 lock
, который позволяет другим пользователям открывать и хранить файл в любое время, но не отправлять его до снятия блокировки;выяснение того, как разрешить и отправить после отправки ваши изменения, будет их проблемой.
Если вы не можете контролировать, использует ли этот файл +l
, и вам нужночтобы получить ваши изменения на сервере, я бы рекомендовал разветвить файл (+l
не предотвращает этого, даже если это возможно), и отправить / отложить ваши изменения в ветку.