2008-10-27 6 views
6

저는 SVN을 처음 사용하고 externals 속성을 많이 사용합니다. 내 PC에있는 저장소가 있고 외부 속성에 하드 코드 된 'localhost'라는 이름이 있는데, 이제는 문제가 발생합니다. 예를 들어 : // localhost를/공유/트렁크 : Subversion 외부 문제

/project1/trunk 
/shared/trunk 

project1/trunk 공유 폴더에 따라

그렇게 SVN의 svn:externals 속성이 있습니다. 이것은 TortoiseSVN에서 잘 작동하며 체크 아웃은 project1/trunk이고 shared/trunk 사본이 주어집니다.

이제 저장소를 다른 서버로 옮겼습니다. 명백한 이유 때문에 더 이상 외부 링크가 작동하지 않습니다 (TortoiseSVN은 더 이상 존재하지 않는 체크 아웃 svn://localhost/shared/trunk).

그래서 내 모든 외부 개체를 업데이트해야합니다. 그러나 컴퓨터 이름을 하드 코드하지 않으려면 어떻게해야합니까? 저장소가 어느 시점에서 다시 이동할 수 있음을 명심하십시오. 나는 ^/ 구문을 통해 제공된 SVN 매뉴얼 주위에 파고, 그래서 시도 다음이 허용되었지만

svn:externals shared ^/shared/trunk 

나는 시도하고 내 PC에 project1의 사본을 체크 아웃 할 때 다음과 같은 오류가 발생합니다 :

Unrecognized format for the relative external URL 'shared'. 
Check the path and/or URL you've entered. 

나는 외관에 저장소 컴퓨터 이름을 하드 코딩하지 않는 한 나는이 일을 할 수 없습니다 - 그렇게 조언은 환영받을 것 마술처럼 보인다.

답변

9

참조하는 ^/구문은 SVN 1.5에서 새로 추가 되었기 때문에 이전 버전의 클라이언트 및/또는 해당 구문을 이해하지 못하는 서버를 사용하고있을 수 있습니다. 또한 1.5에서 새로운 외부 구문을 지원하기 위해 외부 정의에서 매개 변수 순서를 변경했습니다. 나는 당신이 먼저 경로를 원한다고 생각하고 그 폴더 이름을 아래에 나타낼 것이라고 생각한다. 자세한 내용은 docs입니다.

+2

경로 첫 번째 폴더 이름 - 그 트릭을 했어, 고마워! – Rob