есть репозиторий mercurial для постоянно развивающегося проекта "project". Обновления коммитятся в branch с именем "trunk". Заказчик попросил сделать несколько специфичных изменений в исходниках, которые не нужны в основной ветке, однако заинтересован, чтобы все последующие обновления из trunk были ему доступны. Было принято решение для версии проекта заказчика сделать отдельный бранч "customer". Таким образом теперь в проекте два head:
$ hg heads
changeset: 2197...
branch: trunk -- рабочая версия.
...
changeset: 2188...
branch: customer -- версия заказчика.
теперь для синхронизации версии заказчика с trunk можно периодичести набирать:
$ hg update customer
$ hg merge -r trunk
$ hg commit
однако наоборот -- из customer в trunk -- мержить нельзя ни при каких обстоятельствах. как-то можно обезопасить репозиторий от возможности такого действия со стороны несознательного разработчика? хук какой-нить в .hgrc?
или есть лучшие способы для работы с версиями проектов?