Notifiche e-mail di commit SVN [chiuso]


10

Hai qualche consiglio per un sistema di notifica del check-in SVN relativamente chiavi in ​​mano?

Sto cercando qualcosa che consenta di modificare un riepilogo dei file del repository e di inviare i contenuti delle differenze effettive a tutti i membri di un team di sviluppo via e-mail quando si verificano commit, magari con collegamenti al file sorgente interessato interessato su ViewVC o qualcosa del genere . Questo è facoltativo

Voglio assolutamente che gli estratti di diff / code siano ben suddivisi in compartimenti. Nessuno guarderà queste cose (come se lo facessero comunque :-) se è solo una discarica grande e sconsiderata di frammenti di codice incomprensibili fin dall'inizio. In linea di principio, voglio solo vedere il numero di revisione, il riepilogo, l'utente che ha effettuato il commit e un elenco di file di repository interessati.

Ho trascorso un po 'di tempo a guardare la fattibilità di scrivere il mio, e mentre vedo che SVN ha "ganci" per catturare vari eventi proprio in questo modo, ottenere qualcosa di lucido che funzioni bene sembra essere un compito piuttosto complicato. Essendo abbastanza certo che esistano pacchetti open source in questo senso, mi chiedevo se qualcuno di voi potesse aiutarmi a salvarmi il problema di capire quali sono buoni e quali sono cattivi. Sto cercando qualcosa di abbastanza facile da impostare e non richiede molto tempo; Mi piacerebbe passare il tempo ad imparare i dettagli di un sistema davvero completo, ma devo fare anche lo sviluppo.

Grazie mille in anticipo!

EDIT: So che Sourceforge lo fa abbastanza bene. Sono su diverse liste -dev dove ricevo costantemente questi messaggi. Ma non posso davvero usare Sourceforge per il tipo di progetti a cui sto lavorando.


Un suggerimento per tutti coloro che vogliono installare un hook come questo: questo potrebbe essere un danno alle leggi sulla privacy delle informazioni (BDSG in Germania). Fai attenzione a usare questo!

Risposte:


8

La tua menzione di ami in realtà non è lontana dalla risposta. È possibile utilizzare l' hook di commit post per eseguire commit_email.pl ( contenuto di ) , in bundle con Subversion, che ti darà praticamente quello che stai cercando . Dovrà essere ottimizzato per puntare al tuo server di posta, ma questa è solo una variabile vicino alla parte superiore dello script. Avrai anche bisogno di Perl installato per eseguire lo script.

L'hook post commit differisce nel nome del file a seconda del sistema operativo su cui stai eseguendo. Lo troverai nella sottocartella / hooks / . Per Linux è semplicemente post-commit mentre su Windows è post-commit.bat . Tutto quello che dovresti fare è modificare quel file per eseguire commit_email.pl . Di seguito è riportato un esempio post-commit.bat:

@echo on
rem POST-COMMIT HOOK

set REPOS=%1
set REV=%2

C:\Perl64\bin\perl S:\SVNRepos\hooks\commit-email.pl %REPOS% %REV% -l C:\Temp\svnlook\commit-email.log

Inoltre, ho apportato ulteriori modifiche al nostro script e-mail per mostrare l'indirizzo e-mail di chi era il commit, anziché il nome utente di Subversion. Rende l'email inviata un po 'più utile (puoi effettivamente rispondere ad essa).


Per riferimento futuro: su altri sistemi che non determinano il tipo di file per estensione (beh, sicuramente almeno Linux), l'hook è appena chiamato post-commit. Rimuovi l' .batestensione dalla versione Windows del nome.
David Z,

David, grazie per i tuoi commenti. Ho adattato la risposta di conseguenza.
Pauk,

2

Uso SVN-Notify , che è uno script perl e dovrebbe funzionare su Windows, anche se non l'ho provato. Utilizza HTML :: ColorDiff per fornire differenze diff colorate dopo il commit.

Questo mi è stato consigliato da un collega di sviluppo ed è fantastico.




Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.