Использование git для проекта с большим количеством репозиториев

Проект Plone состоит из 192 различных репозиториев: https://github.com/plone/

Во время разработки иногда потребуется изменить 2, 4 или 10 различных репозиториев, чтобы исправить ошибка или реализовать функцию. Было бы здорово, если бы все это можно было разветвить и объединить вместе (например, закрытие запроса на вытягивание issueX , содержащее коммиты в репо1 , репо2 и репо3). ).

Релизы требуют, чтобы весь набор репозиториев был разветвлен и помечен вместе.

До git выпуск определялся файлом, в котором перечислены номера ревизий svn всех модулей, составляющих выпуск.Предоставляет ли git более упрощенный способ работы?

На первый взгляд может показаться, что применимы «Суперпроекты»:

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

http://progit.org/book/ch6-6.html#superprojects «Git / подмодули и суперпроекты», кажется, подтверждают это, но остается расплывчатым (не касается тегов или ветвей) . http://en.wikibooks.org/wiki/Git/Submodules_and_Superprojects

Другой инструмент, который звучит актуально, - это mr Джои Хесса:

Команда mr (1) может проверять, обновлять или выполнить другие действия с набором репозиториев, как если бы они были одним объединенным репозиторием.

http://kitenet.net/~joey/code/mr/ (Я был бы обеспокоен тем, что это приведет к 192 различным ветвям с одинаковыми именами вместо 1 ветки, которая связывает все вместе репозитории.)

Этот вопрос выглядит актуальным: Кто-нибудь действительно использует git super / subprojects? Один из ответов гласит:

наш проект (bitweaver, система управления контентом) является модульным {{ 1}} с почти 160 репозиториями - http: // github.com/bitweaver/ ".

Это похоже на наш случай. Он цитирует" серьезные ограничения "с подмодулями и рекомендует ртутный. Это звучит как mr может помочь справиться с ними («выполнить команды git для всех каталогов в супер-репо»).

16
задан Community 23 May 2017 в 10:27
поделиться