2009-12-16 15 views
8

Mentre sto esaurendo il mio spazio su GitHub sul mio account gratuito (sì, sto considerando l'aggiornamento), sto configurando nuovi repository git su Gitorious (vedi anche GitHub vs Gitorious). Una grande caratteristica di GitHub sono i ganci post-commit, che mi permettono di notificare il (anche grande) CIA network ...Gitorious dispone di hook per la notifica di commit CIA?

Tuttavia, non sono stato in grado di trovare se Gitorious supporta tali hook ... Quindi, I ' Mi piacerebbe chiedere le migliori pratiche per ottenere messaggi di commit sulla rete della CIA per i repository git ospitati da Gitorious.

Aggiornamento: la soluzione dell'utilizzo di un meccanismo secondario per l'attivazione dei messaggi di commit CIA non è ciò che sto cercando.

+1

Trovato anche su un gruppo di google, ma senza risposta: http://groups.google.com/group/gitorious/browse_thread/thread/3cf48f0f8631cf8a –

+1

Anche KDE è alle prese con le stesse domande e sembrava aver fatto una soluzione personalizzata: http://techbase.kde.org/Projects/MovetoGit#Post_Update_hooks –

risposta

2

Invece di passare direttamente a Gitorious, passare a un repository locale che si è configurato (nel suo hook di post-ricezione) per inviare tutto al repository Gitorious e notificare a CIA.

+0

Come configurare tale repository locale? –

+1

Inserire la notifica della CIA nel hook di aggiornamento (@maxy inserire un collegamento: http://cia.vc/clients/git/ciabot.bash). Nel hook post-aggiornamento, metti un "git push --mirror Gitorious/url" (o git push --all, quale è più appropriato) –

2

mia soluzione attuale è quella di istituire un archivio loal (chiamato CIA) e sempre spingere tramite uno script di shell piccolo:

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

Nel repository CIA locale ho installato http://cia.vc/clients/git/ciabot.bash per inviare e-mail alla CIA.

+0

Immagino che la prima spinta dovrebbe essere un tiro? –

+0

no, spingo sempre gli stessi commit in due repository diversi, il più generoso (origine) che è dove voglio il mio codice, e il mio locale (CIA) che invierà le email quando spingo – maxy

3

Il progetto KDE ha avuto una domanda simile a that thread, con un'interessante alternativa:

Essa non deve essere in esecuzione su gitorious.org macchine. Almeno, non per e-mail/CIA/RSS/qualunque segnalazione

Ecco come il nostro vecchio gancio git-p4 lavorato in ufficio:
la macchina p4 inviato un pacchetto UDP con il numero di revisione. Un'altra macchina l'ha catturato e ha fatto l'importazione. (Il valore è stato scartato)

Potremmo fare lo stesso:

  • macchina gitorious.org invia un pacchetto UDP con i rami che hanno cambiato e il loro nuovo SHA-1.
  • Un'altra macchina recupera e genera i registri di commit.
    Lo scenario peggiore è che qualcuno venga dimenticato a causa di un pacchetto UDP eliminato.

Come ho detto, questo funziona per la segnalazione - per tutto ciò che è gestito da un gancio post-receive.
Per qualsiasi cosa che richiede un hook pre-receive (in realtà, pre-update, ma il nome è errato in Git), dovrà essere eseguito sui loro server.

+0

Chi è "tu" in il tuo commento? –

+0

@Egon: scusa, è stata una prima modifica errata nella mia risposta iniziale. Intendevo il progetto KDE. – VonC

5

Gitorious sta ricevendo supporto per il web hook. È attualmente in esecuzione su gitorious.org, ma senza un'interfaccia utente per aggiungerli al repository; la ragione di ciò è che potrebbe esserci ancora un cambiamento o due nella rappresentazione JSON dei dati di commit esposti, quindi dovrebbe essere configurata una funzione beta.

Chiunque sensazione fino alla scrittura di codice di integrazione (gestione Gitorious richieste gancio web), si prega di inviare una mail a supporto a gitorious.org e noi provvederemo a impostare l'integrazione per il repository

+0

Puoi aggiungere qualche URL per ulteriori informazioni su questo supporto per hook? –

+0

Un esempio (e la cronologia) del payload JSON generato è a http://www.postbin.org/wqpx3l – zmalltalker

+2

Questo era marzo 2010. È ora 2012, e ancora non vedo una tale caratteristica! –

Problemi correlati