2011-08-29 14 views
9

He leído todos the documentation about hooks, similarquestions y a lot of code pero no puedo rastrear dónde está el error en mi procedimiento. Es necesario instalar un gancho simple en mi instalación gitolite (hecho con un paquete RPM en CentOS) Así que aquí está lo que hice:Cómo instalar ganchos en gitolite

Para instalar gitolite (hace algún tiempo):

  1. el paquete RPM
  2. # su - gitolite
  3. $ gl-setup /tmp/fabio.pub (como usuario gitolite)

ahora para instalar el gancho:

  1. creado un archivo de muestra post-update con el código de enlace en ~gitolite/.gitolite/hooks/common y chmod +x en él
  2. plazo gl-setup /tmp/fabio.pub de nuevo como stated here

pero no pasó nada, el estado de salida del último comando es 0, pero el gancho el archivo no está enlazado en ningún repositorio. Entonces, ¿qué pasa con mi procedimiento? ¿Me he perdido algo?

preguntas de bonificación:

  1. Si hubiera entendido el doc mi procedimiento es el más adecuado? Es decir. ¿Debo ejecutar gl-setup cada vez que actualizo un hook?
  2. De esta manera instalo los ganchos compartidos en cada repositorio bajo esta instalación de gitolite, ¿verdad? ¿Puedo instalar manualmente un enlace como enlace simbólico a alguna parte o solo un script ejecutable solo para un repositorio dado? ¿Debería hacerlo manualmente en la carpeta hook del repositorio dado? ¿Debería importar los conflictos de ganchos (es decir, ¿algún gancho personalizado para el repositorio único bloquearía cualquier otro enlace compartido con el mismo nombre)?

No sé si esto importa, mi versión de gitolite es 1.5.9.1.

Respuesta

0

Acabo de enterarme de que si copio mi muestra de gancho en /usr/share/gitolite/hooks/common/, se enlazará por gl-setup. Tal vez en este paquete la variable $GL_ADMINDIR no esté configurada por algún motivo. Dos preguntas adicionales siguen en pie ...

0

necesita agregar un gancho update.secondary en el directorio y volver a desplegar con gl-easyinstall. Eche un vistazo al gancho de actualización que viene con gitolite. Verá que cerca del final, llama al update.secondary. Si lo proporciona, funcionará.

+0

No necesito un gancho de actualización, así que no creo que esto solucione mi problema. Además, he instalado desde un paquete, así que creo que mi comando no es 'gl-easyinstall' sino' gl-setup'. – Fabio

+0

actualiza ganchos en el clon gitolite y luego vuelve a ejecutar el script de instalación fácil. ¿Cuál es el objetivo de tu gancho? La mayoría de las cosas se hacen a través del gancho de actualización. –

+0

[este es el enlace que necesito] (https://github.com/kahseng/redmine_gitolite_hook/blob/master/contrib/hooks/post-receive-redmine_gitolite). Simplemente no puedo ejecutar 'gl-easyinstall' porque no tengo un clon local ya que he instalado gitolite usando el [método del paquete] (https://github.com/sitaramc/gitolite/blob/pu/doc) /1-INSTALL.mkd#_package_method). – Fabio

1

En Gitolite v3 puede elegir dónde poner sus ganchos editando la variable LOCAL_CODE en .gitolite.rc. Consulte el origen del archivo para ver más opciones (por ejemplo, habilitar los enganches personalizados por repo)

Luego coloca sus ganchos en el directorio especificado, hágalos ejecutables y ejecute gitolite setup --hooks-only.