Я работаю над большими проектами, которые имеют общий ресурс в отдельном репозитории git.Как мы настраиваем проекты вкратце:
/
# Проект основного единства
/ext/Common
# Проект общего источника (проверено с использованием поддерева или подмодуля git)
Common содержит папку Assets, так как любой проект Unity
/ext/Common/Assets
символически связан с /Assets/Externals/Common
У нас есть записанная перехватка git, проверяющая, существует ли ссылка /Assets/Externals/
для каждого каталогав /ext/
, который содержит подпапку Assets.
Это работает хорошо, но есть некоторые дилеммы:
A) Мы используем разные версии Windows и OSX в нашей команде.Нам нужен кроссплатформенный способ написания скрипта после оформления заказа.Следовательно, зависимость от python.
B) Git post-checkout hook не срабатывает после git pull, что было бы оптимальным.
C) Git post-checkout hook должен быть записан в репозитории только так, как я мог получить этослучиться было нажать в каком-то месте в хранилище и изменить путь git-config git config.
Я рассмотрел вопрос о замене ловушки git post-checkout на Unity AssetPostprocess :: OnPreprocessAsset.Однако предостережение заключается в том, что он не будет запускаться при новой проверке, так как сценарии проекта не скомпилированы, и поскольку в Unity отсутствуют сценарии, поскольку символические ссылки не сформированы ... Не очень хорошая вещь.
Чтоальтернативы вы можете придумать, чтобы преодолеть проблемы A), B), C)?Есть ли лучшие мерзавцы?У вас есть идея, как избежать этой путаницы с несколькими проектами?