Мы разрабатываем проект с открытым исходным кодом, и мы используем Mercurial для управления исходным кодом. Репозиторий Mercurial для этого проекта является общедоступным (мы используем Bitbucket).
Теперь у нас есть клиент, для которого нам нужно настроить наше программное обеспечение с открытым исходным кодом. Эти настройки должны быть конфиденциальными, поэтому нам, вероятно, нужно создать новый Hg-репозиторий для этого клиента; этот новый репозиторий будет закрытым.
Но проблема в том, что нам нужно [время от времени] изменять слияние (например, новые функции или исправления ошибок) из открытого репозитория в наш частный репозиторий.
Какой лучший способ достичь этого? Я читал, что можно объединить два или более хранилища Mercurial, но история будет потеряна. Также слияние может быть болезненным из-за многих конфликтов. Что делать, если в будущем мы получим еще несколько клиентов, как мы должны управлять своими репозиториями? Должны ли мы использовать один репозиторий и несколько веток? Что делать, если две версии проекта начинаются в разных направлениях, а два хранилища становятся все более разными?
Поделитесь своим опытом об этом.
Спасибо заранее!