2013-05-12 12 views
7

SVN registra quali file sono stati modificati in ciascun commit. Ma voglio sapere quali funzioni sono state cambiate in ogni commit.Strumento di analisi log SVN

Idealmente, mi piacerebbe fornire un metodo che viene chiamato con ogni diff e quindi può salvare quali metodi sono stati modificati in quel commit.

Esiste un tale strumento o api?

+1

Lo strumento scelto è molto probabilmente dipendente dalla lingua. Ho visto alcuni strumenti (eclipse w/svn) che analizzano i commit e le note dei metodi/proprietà/classi modificati all'interno di quel commit, ma che è specificamente un commit e java. –

+0

È possibile scrivere il proprio strumento di analisi dei log con SVNkit http://svnkit.com/ Ci possono essere altre librerie SVN in altre lingue. –

+0

(a) cosa intendi con "che viene chiamato con ogni diff" (b) qual è il linguaggio in cui queste funzioni stai cercando sono scritte in (c) è uno script bash ok per te? –

risposta

4

SVN non sa nulla del tuo linguaggio di programmazione; quindi può solo mostrarti le differenze testuali tra i file utilizzando ad es. svn diff.

Ma alcuni IDE conoscono meglio la tua lingua di scelta, e ad es. Eclipse ha un brillante "editor di confronti" che può evidenziare le differenze tra due versioni di file.

Se è necessario qualcosa che funzioni dalla riga di comando e per cui l'output può essere utilizzato nella logica degli script, ecc., È necessario conoscere meglio il linguaggio e i requisiti di programmazione.

1

Probabilmente si può usare lo script post-commit svn hook per modificare il log della versione che si sta aggiornando e aggiungere il risultato del comando svn diff.

In this chapter from the SVN book parlano di questi script. Here puoi trovare un esempio che invia il diff via email.

Problemi correlati