Perforce: синхронизация основных данных, а также прямая загрузка производных данных

Это должно быть решено где-то, но я не могу найти прямого ответа.

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

Вот проблема: пользователи хотят синхронизироваться с депо, как обычно, и получить все три выше. Таким образом, производные данные должны быть загружены после того, как пользователь нажмет «Получить последнюю версию» в P4V. Они также не хотят запускать дополнительные сценарии на своих локальных машинах.

Есть ли что-нибудь, что я могу сделать на стороне сервера, чтобы это произошло?

РЕДАКТИРОВАТЬ

Причина, по которой производные данные лучше не предоставлять:

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

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


20
1

Ответ:

Решено

Отправляйте производные данные с компьютера сборки каждую ночь после его перестроения.

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

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