Проприетарная + Open Source настройка в Git? (например, хром / хром)
Как бы вы настроили хранилище кода, где у вас есть проприетарная версия и версия с открытым исходным кодом, скажем, как Chrome и Chromium?
С Git, вы бы использовали две ветки или два репозитория?
Как бы вы обновляли "приватную" версию с версией с открытым исходным кодом?
3 ответа
Если бы это был я, у меня было бы два хранилища. Таким образом, вы можете иметь разные разрешения для каждого - публичный доступ на чтение для версии с открытым исходным кодом и чтение / запись для разработчиков только на "приватной".
Чтобы поддерживать частную версию в актуальном состоянии, я бы настроил удаленный доступ к хранилищу частной версии, который указывает на хранилище общедоступной версии. Это позволит вам перенести или переназначить изменения оттуда на частную. Это, однако, делает предположение, что изменения не будут конфликтовать (т.е. набор функций частной версии является скорее супернабором общедоступной версии, чем расхождением).
Использование двух ваших репозиториев в качестве подмодулей git и дополнительного мета-репозитория для отслеживания версий как закрытых, так и открытых репозиториев.
Я бы предложил два разных репозитория, а не ветки. git pull и / или push помогут вам перенести изменения из репо с открытым исходным кодом в проприетарное репо.