2010-01-15 20 views
12

Ho un po 'di codice per il quale vorrei vedere la cronologia delle revisioni. Nel file di esempio, la riga 300 contiene qualcosa di "interessante". Come posso usare svn per vedere quando quella riga è stata cambiata e rivedere i commenti svn che riguardano la modifica di quella linea. (Si noti che le revisioni precedenti di quel file probabilmente non avranno la linea di destinazione target alla riga 300).svn: Come posso determinare l'ultima volta in cui una determinata riga è stata cambiata?

risposta

15

È possibile utilizzare il comando blame di SVN. Questo stamperà i numeri dell'autore e della revisione su base per linea per il target specificato. Una volta ottenuto il numero di revisione è possibile rivedere la registri e altri cambiamenti associati a tale revisione utilizzando log, ecc commettere

+6

Conosciuto anche come annotazione svn, se ti senti meno vendicativo. (Oppure il tuo capo ha scritto il codice e ti sta guardando da dietro). – jmanning2k

2

C'è lo strumento "svn blame" per quello.

+2

migliore dei comandi mai! Tranne quando viene il mio nome ... – RedFilter

+3

Hanno anche un alias "svn praise", forse ti starà meglio se hai una brutta sensazione? ;) – kusma

1

svn blame filename

poi guardare il registro per la revisione in cui è stato cambiato.

0

Come altri hanno già detto, è possibile utilizzare:

svn annotate filename 

per mostrare quando quella linea è stato modificato l'ultima volta Fai attenzione però, poiché mostrerà l'ultima volta che qualcosa su quella linea è stato modificato. Quindi, se il codice è stato spostato nel file, che viene eliminato da un posto e incollato da qualche altra parte, mostrerà quando la linea è stata spostata, non necessariamente quando è stata modificata. Lo stesso vale se la linea è stata spostata dentro o fuori da un ciclo o da un'istruzione.

+0

L'annotazione suona meglio della colpa. Almeno per quello di cui avevo bisogno in quel momento. :-) – Les

4

svn blame -v filename. Verbose fornisce numero di revisione, nome e data

2
svn [praise|annotate|blame] filename 

fornisce il numero di versione e l'ultimo autore o editor.

svn [praise|annotate|blame] -v filename 

vi darà ulteriori informazioni. se si è unito il ramo, in questo caso

svn blame -g filename 

è necessario utilizzare il seguente comando per conoscere tutte le opzioni disponibili

svn blame --help 
Problemi correlati