Использование git для проекта с множеством репозиториев - PullRequest
16 голосов
/ 22 ноября 2011

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 23 ноября 2011

Я бы использовал подмодули git в репо "all".Кроме того, рассмотрите «git slave», если вы найдете работу, охватывающую множество репозиториев.Это может сэкономить много усилий.

0 голосов
/ 22 ноября 2011

Почему бы не взглянуть на инструмент репо , который используется Android?

...