Можно ли иметь временные / условные разрешения для файлов в исполнении?

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

Я нашел эту ссылку, которая также описывает мою проблему: http://www.p4ideax.com/ideas/694/temporary-permissions

Один из способов сделать это - предоставить доступ к файлам только архитекторам, а затем предоставить разработчику временный доступ. Возможно, разрешение может быть связано с конкретной работой в исполнении. Единственный способ понять, как это сделать, - это добавить файлы, которые человек сможет изменить в новое поле в шаблоне заданий (сделано архитектором). Затем пусть приложение сервера динамически вызывает p4 для защиты и управления таблицей разрешений. Затем, когда работа закрыта, разрешение отменяется. Серверное приложение может быть программным обеспечением для отслеживания ошибок.

Есть ли более простой способ или даже стороннее программное обеспечение, которое может решить проблему?

Я знаю, что еще один способ решить эту проблему - поместить эти конфиденциальные файлы в ветку, а затем только разрешить архитекторам сливаться в эту ветку. Это решение кажется немного тяжелым.

Любые предложения будут полезны

1 ответ

Это то, что, безусловно, можно сделать с помощью хука предварительной отправки. Есть примеры в Perforce Depot.

Я хотел бы отклонить заявки на файлы в этом разделе депо, у которых не было работы, которая была в "утвержденном списке". Вы можете создать утвержденный список несколькими способами, хотя простым (если вы используете Perforce глобально) было бы поместить список заданий в файл, находящийся под контролем репозитория, и затем сделать этот список доступным только для архитекторов.

В этом случае триггеру предварительной отправки в основном потребуется: - если отправляемые файлы не находятся в защищенном дереве, разрешить отправку - получить перенаправленную копию файла из хранилища - получить список заданий из отправки - сопоставить задание со списком - если задание находится в списке, разрешить отправку - отклонить отправку с соответствующим сообщением об ошибке

Другие вопросы по тегам