2009-12-16 9 views
8

Como estoy corriendo fuera de mi espacio en GitHub en mi cuenta libre (sí, estoy considerando la actualización), yo soy la creación de nuevos repositorios en git Gitorious (véase también GitHub vs Gitorious). Una gran característica de GitHub son los ganchos post-commit, que me permiten notificar al (también excelente) CIA network ...¿Tiene Gitorious ganchos para la notificación de compromiso de la CIA?

Sin embargo, no he podido encontrar si Gitorious admite tales ganchos ... Así que, me ' Me gustaría pedir las mejores prácticas para que los mensajes de compromiso aparezcan en la red de la CIA para los repositorios de git alojados en Gitorious.

Actualización: la solución de usar un mecanismo secundario para desencadenar mensajes de compromiso de la CIA no es lo que estoy buscando.

+1

También se encontró en un grupo de google, pero sin respuesta: http://groups.google.com/group/gitorious/browse_thread/thread/3cf48f0f8631cf8a –

+1

KDE también está luchando con las mismas preguntas, y parecía haber hecho una solución personalizada: http://techbase.kde.org/Projects/MovetoGit#Post_Update_hooks –

Respuesta

2

En lugar de empujar directamente a Gitorious, empuje a un repositorio local que ha configurado (en su gancho posterior a recibir) tanto a empujar todo para su repositorio Gitorious y notificar a la CIA.

+0

¿Cómo puedo configurar ese repositorio local? –

+1

Ponga su notificación de CIA en el gancho de actualización (@maxy ponga un enlace: http://cia.vc/clients/git/ciabot.bash). En el enlace posterior a la actualización, ingrese un "git push --mirror Gitorious/url" (o git push --todo, lo que sea más apropiado) –

2

Mi solución actual es la creación de un repositorio LOAL (llamado CIA) y siempre empuja a través de un pequeño script de shell:

#!/bin/bash 
set -e 
git push origin master 
git push cia master 

En el repositorio local de la CIA que he instalado http://cia.vc/clients/git/ciabot.bash para enviar correos electrónicos a la CIA.

+0

Supongo que el primer impulso debería ser un tirón. –

+0

no, siempre envío los mismos commits a dos repositorios diferentes, el principal (origen) que es donde quiero mi código, y el local (CIA) que enviará los correos electrónicos cuando presiono – maxy

3

El proyecto KDE tenía una pregunta similar en that thread, con una alternativa interesante:

No tiene que estar en ejecución en gitorious.org máquinas. Al menos, no para el correo electrónico/CIA/RSS/lo que sea informar

Eso es como nuestro viejo git-p4 gancho trabajó en la oficina:
la máquina p4 enviado un paquete UDP con el número de revisión. Otra máquina lo atrapó e hizo la importación. (El valor se descartó)

Podríamos hacer lo mismo:

  • la máquina gitorious.org envía un paquete con UDP las ramas que cambiaron y su nuevo SHA-1.
  • Otra máquina recupera y produce los registros de confirmación.
    En el peor de los casos, alguien se olvida debido a un paquete UDP caído.

Como dije, esto funciona para la presentación de informes - para cualquier cosa que se ejecuta por un gancho post-receive.
Para cualquier cosa que requiera un gancho pre-receive (en realidad, pre-update, pero el nombre es incorrecto en Git), deberá ejecutarse en sus servidores.

+0

¿Quién es "usted" en ¿tu comentario? –

+0

@Egon: lo siento, esa fue una primera edición incorrecta en mi respuesta inicial. Quise decir el proyecto de KDE. – VonC

5

Gitorious recibe soporte para ganchos web. Actualmente se está ejecutando en gitorious.org, pero sin una interfaz de usuario para agregarlos a su repositorio; La razón de esto es que aún puede haber un cambio o dos en la representación JSON de los datos de confirmación expuestos, por lo que debe configurarse una función beta.

que nadie se sienta a escribir código de integración (el manejo de las peticiones web hook Gitorious), por favor envíe un correo electrónico para apoyar a gitorious.org y vamos a configurar la integración de su repositorio

+0

¿Podría agregar algunas URLs para obtener más información sobre este soporte de hook? –

+0

Un ejemplo (y la historia) de la carga útil JSON generada está en http://www.postbin.org/wqpx3l – zmalltalker

+2

Eso fue en marzo de 2010. ¡Ahora es 2012 y aún no veo esa característica! –

Cuestiones relacionadas