2009-09-16 3 views
6

Subversion 1.4 리포지토리를 다른 서버의 Subversion 1.6으로 마이 그 레이션하는 사람이 있습니까? 내가 얻을 수있는 도움을 주시면 고맙겠습니다.Subversion 1.4에서 1.6으로 마이그레이션

+0

정교하게 말하면, 나는 이미 1.4에서 덤프를하고 1.6으로로드하려고 시도했다. (그 정도는 subversion 레드 북에 있으며, v1.4 서버간에 성공적으로 완료되었다.) v1.6 서버에 v1.4 파일을로드하려고하면 덤프 파일의 헤더 형식에 대한 오류가 발생합니다. 내가 읽은 바에 따르면 저장소 레이아웃이 1.4에서 1.6으로 변경되었습니다. –

+0

이 두 서버는 운영 체제가 다른 여러 컴퓨터에 있습니다. 1.4 서버는 업무상 중요한 gentoo 박스이며, 무언가를 깨뜨릴 위험없이 심각한 업그레이드 없이는 업그레이드 할 수 없으며, 새로운 1.6 박스는 Windows Server 2003에서 Subversion을 실행 중입니다. 새 상자를 제어 할 수 없기 때문에 네트워크 관리자가 임시로 액세스하여 설치 한 서버의 새 저장소를 설치합니다. –

답변

7

우선 Linux와 Windows간에 자유롭게 덤프 파일을 이동할 수 있는지 100 % 확신하지 못합니다. 줄 끝을 변환해야 할 수도 있습니다.

다음으로 먼저 저장소를 1.4 형식으로 이동 한 다음 제자리에서 업그레이드해야합니다. 한 가지 방법은 대상 시스템에, 그렇게 :

svnadmin create --pre-1.5-compatible /path/to/repo 
svnadmin load /path/to/repo <dumpfile 
svnadmin upgrade /path/to/repo 

은 svnadmin의 자세한 내용은 SVN book를 참조하십시오.

+0

그 트릭을 했어. 친절하게 도와 주셔서 감사합니다. 매우 감사드립니다. –

+0

덤프 형식은 플랫폼에 독립적입니다. 따라서 덤프 파일을 Linux와 Windows간에 안전하게 이동할 수 있습니다. – Stefan

+0

@Stefan : 고마워, 나는 그랬다고 생각했지만 확실하지 않았다. – Avi

0

덤프 파일을 이진 파일로 취급하고 있는지 확인하십시오. 그것은 텍스트 파일처럼 보이고 다양한 방법으로 편집 할 수 있습니다. 그러나 텍스트가 아닙니다. 따라서 개 이전 중 개행 전환이 발생했거나 엉망으로 처리 할 경우.

2

우리는 약간 다른 방식으로했습니다 : 새로운 저장소를 만들고 svnsync을 사용하여 저장소의 미러를 생성했습니다. 이 스위치는 전환 할 때까지 읽기 전용으로 사용해야합니다. 그런 다음 커밋을 금지하기 위해 이전 저장소에 후크를 추가하십시오 (사용자에게 새로운 저장소로 이전하라는 메시지와 오류 메시지가 이상적입니다). 마지막으로 svnsync를 실행하고 새 저장소를 활성화하십시오. 이것은 덤핑보다 훨씬 빠르며 이전 Repos에 대한 최신 변경 사항을 따라 잡을 수있어보다 효율적입니다.

+0

증 분식 덤프 및로드를 수행 할 수도 있습니다. – retracile

+0

이것은 우리에게 덜 고통 스러웠습니다. 1.4 리포지토리 중 하나는 32GB를 초과하는 디스크 공간 (압축 된 svn diff)을 가졌으므로 덤프 크기를 상상할 수 있습니다! :-) – jdehaan

관련 문제