2012-03-06 11 views
20

ho fatto un svn blame su un file comeCome stampare il numero di riga con svn blame?

$ svn blame folder1/file.txt 

Mi dà l'otput che assomiglia:

svnRevision userName line 

Come faccio a stampare il numero di riga così ?, qualcosa di simile

lineNumber svnRevision userName line 
+2

possibile .. wow, la svn veramente ** è ** ritardato ..:/mi manca git:/ – Paladin

risposta

32

Sulla base di Kunal colera, ma senza creare alcun file

svn blame file.cpp | cat -n 
-1

Non è possibile con blame.

Possible switches:

--revision (-r) REV 
--username USER 
--password PASS 
--no-auth-cache 
--non-interactive 
--config-dir DIR 
2

È possibile ottenere i numeri di riga emettendo il risultato in XML

svn blame --xml <file> 
2

tubo colpa a semplice script awk, che aggiungono uscita FNR a $ su 0. Per esempio:

svn blame file.txt | awk '{print FNR $0}' 
0

ho scoperto un modo per aggirare l'utilizzo di più comandi in questo modo:

trucco è quello di utilizzare svn colpa a colpa e poi in uscita che in un file, quindi utilizzare il comando cat con -n per ottenere i numeri di riga su quel file e quindi eliminare quel file.

svn blame abc/HelloWorld.java> file.txt; cat -n file.txt; rm file.txt

speranza che aiuta!

grazie a tutti per la risposta ..

+1

Non hai davvero bisogno del file temporaneo. Semplicemente reindirizza l'output di 'svn blame' a' cat -n'. (modifica: vedi [risposta di Pelle] (http://stackoverflow.com/questions/9593157/how-to-print-line-number-with-svn-blame/11633248#11633248)). –

2

si possono fare che:

svn blame file.cpp | nl 
non
Problemi correlati