Метод, который мы используем, По необходимости подход, который обсужден подробно в замечательной книге Laura Wingerd:
http://oreilly.com/catalog/9780596101855/index.html
, В то время как книга по необходимости центральна (Wingerd По необходимости менеджер по продукции), понятия могут быть применены к любому VCS.
по необходимости подход (и платформа) обслуживал нас очень хорошо. Это используется в большом количестве фирм (Google, Intuit, и, я услышал, сама Microsoft Windows).
книга определенно стоит чтения.
Моя любимая ловушка для формальных репозиториев - это ловушка, не использующая несколько голов. Это здорово, когда у вас есть система непрерывной интеграции, которой для автоматической сборки требуется подсказка после слияния.
Вот несколько примеров: MercurialWiki: TipsAndTricks - предотвращение выталкивания, которое могло бы создать несколько голов
I используйте эту версию из Netbeans:
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
#
# To forbid pushes which creates two or more headss
#
# [hooks]
# pretxnchangegroup.forbid_2heads = python:forbid2_head.forbid_2heads
from mercurial import ui
from mercurial.i18n import gettext as _
def forbid_2heads(ui, repo, hooktype, node, **kwargs):
if len(repo.heads()) > 1:
ui.warn(_('Trying to push more than one head, try run "hg merge" before it.\n'))
return True