2012-03-06 18 views
20

Zrobiłem svn blame na pliku jakJak wydrukować numer linii z svn winy?

$ svn blame folder1/file.txt 

Daje mi otput, który wygląda tak:

svnRevision userName line 

Jak zrobić to wydrukować numer wiersza oraz ?, coś

lineNumber svnRevision userName line 
+2

możliwy .. wow, svn naprawdę ** jest ** opóźnione ..:/Tęsknię za git:/ – Paladin

Odpowiedz

32

podstawie Kunal zarazy, ale bez tworzenia plików

svn blame file.cpp | cat -n 
2

można uzyskać numery linii przez wyprowadzanie wynik w XML

svn blame --xml <file> 
2

rur winę na najprostszy skrypt awk, które dodają wyjście FNR do $ 0. Na przykład:

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

I okazało się to obejść za pomocą kilku poleceń tak:

Sztuką jest, aby korzystać z svn winy do winy, a następnie wyjście że do pliku, a następnie za pomocą polecenia cat z -n do uzyskać numery linii w tym pliku, a następnie usunąć ten plik.

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

nadzieję, że pomoże!

dzięki wszystkim za odpowiedź ..

+1

Tak naprawdę nie potrzebujesz pliku tymczasowego. Po prostu wyprowadź wyjście "svn win" do "cat -n". (edytuj: patrz [odpowiedź Pelle'a] (http://stackoverflow.com/questions/9593157/how-to-print-line-number-with-svn-blame/11633248#11633248)). –

2

można to zrobić:

svn blame file.cpp | nl 
nie