2009-09-22 3 views
2

Subversion 작업 복사본 (예 : 현재 작업 디렉토리)의 시작점과 대상 SVN URL에서 작업 복사본에서 파일을 찾고 싶습니다 해당 SVN URL이 있습니다.SVN 작업 복사본 내에서 주어진 SVN URL이있는 파일 찾기

https://svnserver/svn/ProjectA/trunk/a/b/c/ 

내가이 대상 SVN URL을 하드 드라이브에있는 파일을 찾을 싶습니다이 SVN URL이

c:\Subversion\ProjectA\a\b\c\ 

이 현재 디렉토리에 주어진 예를 들어

:

https://svnserver/svn/ProjectA/trunk/a/x/y/test.txt 

이 예에서는 어떤는 다음과 같습니다

c:\Subversion\ProjectA\a\x\y\test.txt 

먼저 SVN API가이를 수행하는 기능을 제공합니까? 둘째, 아니라면, 그것을 구현하는 신뢰할 수있는 (크로스 플랫폼) 방법은 무엇입니까?

Python이 제 목표 언어이고 파이썬 SVN 바인딩이 대안이 될 수 있지만 PySvn을 사용하고 있습니다.

답변

4

Subversion은 url에서 작업 카피 위치 자체로의 역 매핑을 사용하지 않습니다. url 사용을 확인하는 가장 안정된 방법은 작업 복사본에 대해 재귀 적 'svn info'호출을 수행하는 것입니다.

이것은 모든 파일과 디렉토리에 대한 URL을 제공하며 직접 일치를 수행 할 수 있습니다.

URL을 로컬 경로에 매핑하고 감지 할 수있는 위치 만보기 만하면이 옵션을 최적화 할 수 있지만 'svn switch'로 만든 다른 위치를 놓치게됩니다.

'svn info'가 파이썬 바인딩에 매핑되는 방법을 모르겠지만 사용할 수있는 클라이언트 클래스에 info2() 함수가있을 가능성이 큽니다.