Git hooks – ¿se propaga desde el repository remoto?

Actualmente estoy buscando convertir un repository SVN existente a git, y luego usar Reviewboard para las revisiones antes de permitir los empujones. Recientemente comencé a usar git y estoy lejos de ser un experto, 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 repository. La lectura a su alnetworkingedor suena como si esto no se hiciera para evitar forzar el código ejecutable en un usuario, sin embargo, este es un repository 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 repositorys locales?

Gracias – Adam

Git no tiene soporte incorporado para transferir ganchos entre clones, opcional o de otra manera. Tiene templates pnetworkingeterminadas que puede modificar o agregar para los repositorys nuevos, pero se extraen del sistema de files local (o del sistema de files de networking, según sea el caso). Es posible que pueda instrumentar un sistema para copyrlos, o poner los ganchos en el repository y pedirles a los desarrolladores que configuren su clonación correctamente.

También es posible ejecutar el enlace que desee en el repository desnudo central, cuando se produce el envío pero antes de que se actualice la reference. 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.

Leyendo http://www.reviewboard.org/docs/manual/dev/faq/ parece que debería alentar a sus desarrolladores a usar twigs temáticas. Una vez que se atestingn los cambios, pueden fusionarse en twigs de publicación. Podrías tener un gancho de actualización que solo permite empujar a twigs particulares de usuarios privilegiados, o cualquier otro criterio. Esto también se puede hacer usando Gitolite, que puede leer en http://progit.org/book/ch4-8.html

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