Perforce: синхронизирует основные данные, но также напрямую загружает производные данные - PullRequest
0 голосов
/ 23 мая 2019

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

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

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

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

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

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

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

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

1 Ответ

2 голосов
/ 23 мая 2019

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

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

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

...