Я хочу, чтобы Пользователь A мог создать список изменений в Perforce, а затем отложить его. Затем я бы хотел, чтобы UserB мог отменить удаление этого списка и отправить его.
Звучит просто, но перелистывание Perforce не работает так, как я ожидал. Когда пользователь B запускает «p4 unshelve -s 1234», он отменяет все измененные файлы из изменения 1234, но не приносит с собой метаданные изменения (описание, исправления задания)! Это означает, что пользователь B может скопировать готовый CL в совершенно новый CL и отправить его (путем ручного воссоздания описания и исправлений), но при этом старый отложенный CL остается без изменений.
Здесь логично было бы: Пользователь B до
- Отмена полки CL
- Просмотр метаданных отложенного CL
- Скопируйте эти метаданные в новый CL
- Отправьте новый CL
- Удалите старый стеллаж CL
Это то, что
Perforce документация даже рекомендует. Возникла бы одна маленькая проблема: Пользователю B не разрешается удалять полки других пользователей! Только пользователь A и администратор p4 могут удалить свой отложенный CL. Я не понимаю, почему документация закрывает глаза на это.
Кто-нибудь когда-нибудь имел эту проблему раньше? Как вы решили это?
РЕДАКТИРОВАТЬ: Я должен уточнить, что мой вопрос очень обобщенный. Я работаю над инструментом, в котором UserA является разработчиком, а UserB является самой системой сборки. Разработчик откладывает CL, а затем отключает систему сборки и проверяет ее серией сборок и тестов (автоматически отправляя CL, если он прошел все эти тесты). Ожидается, что каждый разработчик не забудет удалить свои отложенные CL, если система сборки представила их, похоже, обречена на неудачу!