2011-02-08 11 views
9

stiamo lavorando con mercurial e ora vorremmo introdurre i ganci precommit per mantenere pulito il codice. Vorremmo che tutti ottenessero in qualche modo i ganci, ma vorremmo anche essere in grado di aggiornarlo in qualche modo centralizzato. Mercurial non ha ganci di controllo della versione, quindi quale sarebbe la nostra alternativa? Qualcuno di voi ha trovato una soluzione per questo? Grazie in anticipo!Come posso condividere un commit-hook in mercurial con tutti i colleghi sviluppatori?

Nemmi

+0

duplicati di http://stackoverflow.com/questions/7462154/how-do-i-set-up-a-hook-in-hg-mercurial-that-gets-dictated-by- the-repository. –

risposta

10

ganci non sono clonato (come descritto in "Version-controlled extension configuration in Mercurial"), ma si può avere una hgrc file comune (vedi hgrc Syntax):

Una linea della forma %include file includerà il file nel file di configurazione corrente

In questo file di configurazione centrale, è possibile modificare la sezione [hooks].

+0

Uhm ma come è condivisa la dichiarazione del file include%? In che modo avere le impostazioni in un file separato è diverso da copiare/incollare il contenuto in hgrc? – BradLaney

+0

@BradLaney 6 anni dopo, sono un po 'confuso sui dettagli, ma il chiaro vantaggio di avere un file incluso rispetto a un contenuto copiato è che sono le modifiche del file incluso (che punta a un file comune condiviso), ne benefici immediatamente da detti cambiamenti. – VonC

2

Se si ha il controllo sui loro desktop (è uno standard aziendale installato) si può mettere il gancio nelle voci a livello di sistema /etc/mercurial/hgrc o /etc/mercurial/hgrc.d/ourcommithook

Se stai amministrare in remoto le macchine si potrebbe automatizzare questo con qualcosa come l'eccellente puppet o costruendo il proprio programma di installazione .rpm, .deb o .msi che ha installato Mercurial e inserisce tutti gli hook nella configurazione globale della macchina.

0

Dai uno sguardo allo projrc extension. È quindi necessario semplicemente che i progettisti inseriscano un numero limitato di righe comuni nei loro file ~/.hgrc e che vengano automaticamente trasferiti su qualsiasi cosa si inserisca nel file repo/.hg/projrc del repository centralizzato.

Avrai ancora bisogno di un posto comune per mettere questi ganci ma probabilmente hai già una sorta di unità condivisa montata che tutti gli utenti montano, giusto? Oppure potresti avere un repository "tools" che tutti devono aver verificato in una posizione standard.

Steve

Problemi correlati