Мы поддерживаем модель Simulink со многими подсистемами. Ряд команд вносят свой вклад в основную модель. Точно так же они синхронизируют c свои индивидуальные модели с базовой моделью. В настоящее время это делается путем проверки подробных примечаний к обновлению, выполнения рекомендаций и большого количества операций копирования / вставки. Мы хотим сделать это правильно.
Мы используем сервер bitbucket для нашего GIT репозитория. Fork + PR не работает, так как конфликты могут быть разрешены только
- с помощью инструмента сравнения моделей (очевидно, невозможно в Bitbucket)
- между ветвями (использование инструмента сравнения моделей затруднительно, когда есть два репозитория, для этого необходимо вручную выбрать старую и новую модели / скрипты)
Вот наш обходной путь для внесения вкладов в исходный репозиторий:
Каждый участник,
- создает свою собственную ветку в своей вилке
- вносит свой вклад в общие подсистемы
- создает PR
Затем новая ветка вытягивается вышестоящим репозиторием. Новая ветвь и нетронутая основная ветвь объединены с помощью инструмента сравнения моделей владельцем вышестоящего репозитория.
Для обновлений из вышестоящего репозитория на разветвленные:
- основная ветвь в разветвленном репо, синхронизированном с вышестоящим репо
- основная ветвь и пользовательская ветвь, объединенные с помощью инструмента сравнения моделей владельцем разветвленного репо.
Кто-нибудь может предложить лучший способ?
Заранее спасибо.