2011-01-16 6 views
0

나는 subversions가있는 초보자입니다. 나는 그것을 파일에 넣기 위해 svn log 명령의 출력을 리디렉션 할 수 있는지 알고 싶습니다. 사실, 나는 사용자의 역사를보고 특정 사용자 (특정 날짜에 추가 된 파일의 이름)에 대한 정보를 확인하고 싶다. 결과 파일에 awk를 사용하면 가능하다.
나는Svn 저장소 : svn 로그의 출력을 리디렉션

svn log file:///var/svn/repository/myproject>file 

내가 오류 메시지가 도착 할 때 누군가가 나에게 thnx

+4

'svn 로그 파일 : /// var/svn/repository/myproject>/tmp/file.txt' – Nishant

+2

@Nishant가 맞습니다. 문제는 거의 확실하게 사용자가 현재 디렉토리. 일반적으로 모든 사용자는'/ tmp '에 대한 쓰기 권한이 있습니다. –

+2

로그 출력 처리에 대한 제안은'svn log' 명령에 대한'--xml' 옵션을 확인하는 것입니다. 'awk' 해커가 아니라면, XML 출력을 평범한 텍스트 출력을 위해'awk'보다는 스타일 시트를 사용하여 처리하는 것이 더 쉽습니다. –

답변

4

음을 도울 수 있다면

bash: file: Permission denied 

, 나는 그것이 쉬운 일이 하는 생각을 특정 날짜에 특정 사용자가 추가 한 파일 식별, awk를 사용하여 출력 (mylogfile), 012 사용하지만 문제는 내가 할 수 없다는 것입니다. 은 파일 추가/제거를 구분합니다. 파일! 당신은 다음과 같이 좀 출력이 표시됩니다

svn log -v REPOURL > ~/reposvn.log

당신이 할 수 있는지 ... :

------------------------------------------------------------------------ 
r1 | svnuser | 2010-10-20 18:56:07 -0400 (Wed, 20 Oct 2010) | 1 line 
Changed paths: 
    A /trunk/file/that/was/added.txt 
    D /trunk/file/that/was/removed.txt 

Commit comment. 

AM 수단이 수정, 추가 의미, D 삭제 의미합니다. awk on :-)

또한 위의 Antonio의 주석에 대해 xml 형식을 사용하고 awk ...를 사용하는 것과 반대되는 것으로 파싱하는 것이 더 쉽습니다. 필자는 절대로 그렇게하려고하지 않으므로 나는 말할 수 없다.


그건 SVN과 관련이 없습니다. 쓰고 싶은 파일에 쓸 수있는 권한이 없습니다. Nishant가 그의 코멘트에서 제안한대로 홈 디렉토리 또는 /tmp에 던져보십시오.

+0

오, 사실이에요, 고마워요. – mimou

+0

당신의 홈 디렉토리에 대한 약자 약어가 있습니다. ~, 이렇게 이렇게 : 'svn 로그 파일 : /// var/svn/저장소/myproject> ~/mylogfile.txt' – hardmath

+0

음, 나는 특정 사용자가 추가 한 파일을 식별하는 것은 쉬운 일이라고 생각했다. 특정 날짜에 awk를 출력 (mylogfile)과 함께 사용하지만 추가 된 파일과 제거 된 파일을 구별 할 수 없다는 것이 문제입니다! – mimou