2011-07-27 4 views
1

В настоящее время у меня есть 5 разных фирменных продуктов с почти одинаковой кодовой базой (различия связаны с брендом), и все эти продукты живут в разделенных ртутных ветвях.Как организовать и поддерживать ртутное хранилище

Фиксация и разработка ошибок выполняется в ветке default, и все изменения пересаживаются на ветви с помощью команды hg transplant. Этот подход работает, но количество брендов может быть увеличено, потребуется больше времени, чтобы поддерживать все филиалы в актуальном состоянии.

Мне интересно, есть ли какой-либо другой/более простой способ для этой задачи.

ответ

3

Использование transplant в этом случае звучит как overkill. Вы должны просто внести изменения в исправление default и использовать hg pull (в фирменных репозиториях) и объединить изменения во всех фирменных хранилищах.

transplant был добавлен в Mercurial, чтобы позволить вишневого собирание ревизиями, что необходим специальный случай идти назад в нормальном потоке ревизиями (т.е. одного изменение, вносимое в вилке/ветви должен быть сращены в оригинале репозиторий)

+0

Я полностью согласен. Я не уверен, что могу взять, допустим, только 7 из 10 коммитов, используя hg pull. – Dmytro

+1

@ Dmytro Я не уверен, что я следую, можно сделать «hg pull» в конкретный набор изменений (в случае, если вам не нужны все изменения в 'default'). Используйте 'hg incoming', чтобы увидеть изменения, которые будут втянуты, а затем' hg pull -r X' (где «X» - это набор изменений, который вы хотите подтянуть). –