2011-03-07 4 views
1

SVN 저장소의 이름을 변경하고 싶습니다. 나는 다른 하나 개의 저장소에서 복사하는 SVN 복사 명령을 시도했지만,이 작동하지 않습니다SVN - 새 저장소를 만들고 이전 저장소의 트렁크와 분기를 추가하십시오.

F:\Old>svn copy https://devserver2.sockltd.local/svn/Dantooine https://devserver2.sockltd.local/svn/IOCPTest 

svn: Repository moved permanently to 'https://devserver2.sockltd.local/'; please relocate 

내가 존재하지 않는 IOCPTest 저장소의 목록을 살펴해야합니다.

리포지토리의 이름을 바꾸는 방법이 있습니까? 아니면 이전 리포지토리를 내보내고 새 리포지토리의 내용을 덤프해야합니까? 문제는, 그 접근법으로, 나는 분지와 개정 역사를 풀어 놓을 것이다. VisualSVN은 내부적으로 저장소 (들)을 구성하는 방법을

감사

+0

어떻게 저장소를 호스팅하는거야? 아파치, svnserve? –

+0

VisualSVN 서버를 사용하고 있습니다 –

+1

repo (질문 제목)를 복제하거나 repo (질문 본문) 이름을 바꾸시겠습니까? 왜 명령이 "Repository moved permanently"를 인쇄한다면 * 작동하지 않는 이유는 무엇입니까? –

답변

2

은 내가 VisualSVN 서버의 기본 응용 프로그램 창에서 기능을 발견했습니다 -

그것은, 새로운 하나 명의 저장소를 복사하는 작업을 자동화합니다 "... 가져 오기 기존 저장소를"하는 동시에 새 저장소 이름을 지정하는 기능을 제공합니다. 그것은 내 요구에 잘 작동하고 너무 분기 및 개정 기록을 복사 :

+3

일반적으로 리포지토리는 디렉터리 일 뿐이며 이름이 무엇인지 추적/관리하지 않습니다. 따라서 일반적으로 디렉토리의 이름을 바꿀 수 있으며 완료됩니다. 여기서 문제는 VisualSVN 서버가 repo 상단에 몇 가지 추가 기능 (예 : 액세스 제어 목록)을 제공하며 원시 디렉토리 이름 바꾸기에서 손실된다는 것입니다. 지금까지 내가 아는 한 VisualSVN Server는 이름을 변경하는 GUI를 제공하지 않지만 repos를 복제하는 기능을 제공합니다 (이미 추측했듯이). –

0

는이 달려있다. Dantooine이 별도의 저장소 (즉, 고유 한 버전 번호가있는 경우)를 수행하는 가장 쉬운 방법은 서버의 Dantooine 디렉토리를 복사하거나 이름을 바꾸는 것입니다. 이름은 리포지토리 데이터에 포함되지 않습니다. 전복에 관한 한 데이터 전송 용 URL 일뿐 GUID revprop을 통해 리포지토리를 인식하므로 클라이언트의 이름을 바꾼 후 svn switch --relocate을 옮기면 충분합니다.

대신 리포지토리의 전체 복사본/포크를 만들려면 Dantooine 디렉터리를 복사하면됩니다.

또는 당신은 실제로/복사를로드 한 후, svnadmin load을 당신이 원하지 않는 지점을 제거하기 위해 기존의 저장소의 백업과 svndumpfilter 파이썬 스크립트를 만들기 위해 svnadmin dump를 사용할 수있는 reposistory에서 가지를 필터링하려면 새 저장소로 필터링 된 백업.

이 모든 것이 VisualSVN 방식 일 수는 없습니다.