2016-12-13 12 views
1

설치 : 내 저장소에있는 foo/bar 파일을 foo/baz에 복사하여 (수정 사항 포함) 원본을 r123에서 삭제했습니다. 이 복사본은 svn cp이 아닌 수동으로 수행되었습니다. 그 이후로 많은 개정이있었습니다.삭제 된 파일을 svn annotate/beame하는 방법?

이제 foo/baz의 일부 줄이 어디서 왔는지보고 싶습니다. foo/bar 다시 추적 한 후,이 명령을 시도 :

$ svn annotate foo/bar -r 122 
svn: warning: W155010: The node '/path/to/checkout/foo/bar' was not found. 
svn: E200009: Could not perform blame on all targets because some targets don't exist 

을 ...하지만 파일이 더 이상 존재하지 않기 때문에 작동하지 않습니다!

질문 : 어떻게 삭제 되었습니까? svn annotate

답변

2

리차드의 대답은 괜찮습니다,하지만 당신은 전체 svn의 URL을 알 필요가 없습니다 ^ 문자는 항상 URL을 프로젝트 확장

svn annotate ^/trunk/[email protected] 
+0

내 접근 방식과 달리 저장소의 루트에서 현재 디렉토리까지의 경로를 알아야합니다. 내 대답과 마찬가지로, 그것을 얻는 한 가지 방법은'svn info'를 사용하고 "Relative URL :"행을 찾는 것입니다. –

1

파일이있는 마지막 버전을 확인한 후에 다른 양식의 svn annotate 명령을 사용하고 SVN 서버의 기록을 살펴야합니다. 다음과 같이 원격 개정 url/[email protected]로 이름을 지정할 수 있습니다

$ svn info 
[...] 
URL: https://[email protected]/svn/project/subproject/trunk 
Relative URL: ^/subproject/trunk 
[...] 

:

$ svn annotate https://[email protected]/svn/project/subproject/trunk/foo/[email protected] 

또는

$ svn annotate ^/subproject/trunk/foo/[email protected] 

편집 첫째, 현재 디렉토리의 서버 URL을 얻을 svn info을 실행 : 대신에 상대 URL을 사용할 수 있음을 지적한 Patryk Obara에게 감사드립니다.

svn annotate ^/<branch path>/<file path>@rev 

예를 들면 : -