2010-08-12 12 views
8

Actualmente estoy buscando convertir un repositorio SVN existente a git, y luego usar Reviewboard para revisiones antes de permitir empujes. Recientemente comencé a usar git y estoy lejos de ser un experto en él, sin embargo, lo que me gustaría hacer es tener un gancho de pre-push que se ejecute "post-revisión" para enviar los cambios a ReviewBoard. Tengo un gancho trabajando que hará esto, sin embargo, parece que esto no se propaga automáticamente a los clones del repositorio. La lectura a su alrededor suena como si esto no se hiciera para evitar forzar el código ejecutable en un usuario, sin embargo, este es un repositorio interno y queremos aplicar esta y algunas otras políticas. ¿Hay alguna manera de forzar a Git a propagar los enganches a clones remotos o necesitamos instruir a nuestros desarrolladores para ejecutar algo que coloque esos enganches en sus repositorios locales?Git hooks - ¿se propaga desde el repositorio remoto?

Gracias - Adam

+0

Ver http://stackoverflow.com/questions/3462955/putting-git-hooks-into-repository - esto responde algunas de sus preguntas. – bstpierre

Respuesta

7

Git no tiene soporte incorporado para la transferencia de ganchos entre los clones, opcionales o de otro tipo. Tiene plantillas predeterminadas que puede modificar o agregar para los repositorios nuevos, pero se extraen del sistema de archivos local (o del sistema de archivos de red, según sea el caso). Es posible que pueda instrumentar un sistema para copiarlos, o poner los ganchos en el repositorio y pedirle a los desarrolladores que configuren su clonación correctamente.

También es posible ejecutar el gancho que desee en el repositorio desnudo central, cuando se produce el empuje pero antes de que se actualice la referencia. Esto podría hacerse con un gancho de pre-recepción o actualización. Si esto es aceptable depende de la funcionalidad real de este enlace, lo cual no está claro en su publicación.

Lectura http://www.reviewboard.org/docs/manual/dev/faq/ Parece que debería alentar a sus desarrolladores a utilizar ramas temáticas. Una vez que se aprueban los cambios, pueden fusionarse en ramas de publicación. Podría tener un gancho de actualización que solo permite empujar a ramas particulares de usuarios privilegiados o cualquier otro criterio. Esto también podría hacerse utilizando Gitolite, que se puede leer acerca al http://progit.org/book/ch4-8.html

Si no está comprometido con Reviewboard, es posible considerar http://code.google.com/p/gerrit/ que es mejor integrado con Git y apoya explícitamente este flujo de trabajo

Cuestiones relacionadas