2012-12-17 1 views
2

svn에있는 파일 집합에 대해 마지막으로 수정 된 작성자 이름을 얻으려고합니다.pysvn이 오류를 발생시킵니다 : 작업 복사본이 아닙니다

내 컴퓨터에서 코드를 체크 아웃했습니다.

내 스크립트에서는 모든 파일의 절대 경로가 목록으로 읽혀집니다. 다음 코드를 사용하여 각 파일에 대해 마지막으로 편집 된 작성자를 추출하려고합니다.

for file in all_files: 
    dir = os.path.dirname(file) 
    entry = client.info(dir) 
    print "Folder:"+dir+" And author:"+entry['commit_author'] 

하지만 다음과 같은 오류가 점점 오전 : 나는이 client.info()에 대한 인수로 전체 파일 이름을 지정하려

File "test_main.py", line 110, in main 
entry = client.info(dir) 
pysvn._pysvn.ClientError: '.' is not a working copy 

이 같은 결과를 얻었다.

이것은 매우 간단한 문제 일지 모르지만 나는 파이썬에서 초보자이므로 알아낼 수 없습니다.

편집 :

temp = "/home/gajananh/scripts/test/repo/test_proj/src"; 
    entry = client.info(temp) 
    print "Folder:"+dir+" And author:"+entry['commit_author'] 

그리고 작동 : 나는 열심히 폴더 경로를 코딩 시도

!

루프에서 변수 dir을 인쇄하려고하면 첫 번째 스크립트에서 올바른 경로가 인쇄됩니다. 출력을 위해 쉘에서 svn info 명령을 실행하려고하면 올바른 결과를 얻습니다.

나는이 신비를 이해할 수 없다. 도와주세요.

+0

내 생각 엔이 문제가 SVN에 대한 파이썬에 대해 점점 더있다 : http://stackoverflow.com/questions/5869173/svn-warning-is-not-a-working-copy –

+0

@DrewV 편집을 살펴보십시오. 나는 문제가 SVN에 있다고 생각하지 않는다. – CCoder

답변

0

내가 for file in all_files: 생각은

당신이 os.path.dirname(file) 실행 ./file.txt처럼 상대 경로로 파일을 반환, 단지 될 것입니다 반환 경로 '.' svn에 인수로서 주어진 점 (점).

함수를 호출하는 동안 전체 경로를 사용해보십시오.

+0

all_files에 절대 경로가 포함되어 있습니다. 변수 dir을 인쇄 했으므로 괜찮습니다. – CCoder

+0

os.path.dirname의 출력을 인쇄 해보십시오. – ATOzTOA

+0

질문에서 이미 언급했듯이 정확하게 인쇄됩니다 .. – CCoder