2011-02-08 9 views
9

estamos trabajando con mercurial y ahora nos gustaría presentar los ganchos precommitientes para mantener el código limpio. Nos gustaría que todos obtuviéramos los ganchos, pero también nos gustaría poder actualizar esto de una manera centralizada. Mercurial no tiene control de versiones de ganchos, entonces, ¿cuál sería nuestra opción alternativa? ¿Alguno de ustedes ha encontrado una solución para esto? ¡Gracias de antemano!¿Cómo puedo compartir un commit-hook en mercurial con todos los desarrolladores?

Nemmi

+0

duplicados de http://stackoverflow.com/questions/7462154/how-do-i-set-up-a-hook-in-hg-mercurial-that-gets-dictated-by- el repositorio –

Respuesta

10

ganchos no están clonado (como se detalla en "Version-controlled extension configuration in Mercurial"), pero que pueden tener un hgrc archivo común (ver hgrc Syntax):

Una línea de la forma %include file incluirá archivo en el archivo de configuración actual

En ese archivo de configuración central, puede modificar la sección [hooks].

+0

Uhm, pero ¿cómo se comparte el% de inclusión de declaración de archivo? ¿Cómo sería diferente la configuración en un archivo separado de copiar/pegar sus contenidos en el hgrc? – BradLaney

+0

@BradLaney 6 años después, estoy un poco confuso sobre los detalles, pero la clara ventaja de tener un archivo incluido en lugar de un contenido copiado es que el archivo incluido (que apunta a un archivo común compartido) cambia, se beneficia inmediatamente de dichos cambios. – VonC

2

Si usted tiene control sobre sus escritorios (que es un estándar corporativo instalar) se puede poner el gancho en las entradas de todo el sistema /etc/mercurial/hgrc o /etc/mercurial/hgrc.d/ourcommithook

Si se administre de forma remota las máquinas se podría automatizar este uso de algo como el excelente puppet o construyendo su propio instalador .rpm, .deb o .msi que instale Mercurial y coloque todos los enganches en la configuración global de la máquina.

0

Eche un vistazo a projrc extension. Simplemente necesita que los diseñadores pongan una pequeña cantidad de líneas comunes en sus archivos ~/.hgrc y automáticamente se insertarán en el archivo repo/.hg/projrc del repositorio centralizado.

Aún necesitará un lugar común para colocar estos ganchos pero es probable que ya tenga algún tipo de unidad montada compartida que todos los usuarios monten, ¿verdad? O podría tener un repositorio de "herramientas" que todo el mundo tiene que haber revisado en una ubicación estándar.

Steve

Cuestiones relacionadas