program tip

Subversion 저장소를 다른 서버로 이동

radiobox 2020. 11. 15. 11:08
반응형

Subversion 저장소를 다른 서버로 이동


내 Subversion 코드베이스를 호스팅하는 서버가 있습니다. 이 서버는 현재 Windows Server 2003 상자이며 IT 관리자가 Windows Server 2008 로 업데이트하려고합니다 .

즉, 서버가 구축되는 동안 Subversion 저장소를 이동해야하며 저장소를 새 서버로 이동하는 모범 사례가 무엇인지 궁금합니다.

온라인에서 보면 다음을 사용하는 것이 좋습니다.

svnadmin dump /path/to/repository > repository-name.dmp

그리고 다음을 사용하십시오.

svnadmin create repository-name
svnadmin load repository-name< repository-name.dmp

저장소를 가져 오려면.

위의 방법이 가장 좋은 방법처럼 보입니까?


예, 저장소를 덤프하고로드하는 것이 좋습니다. 저장소 폴더를 직접 복사하는 것은 복사 프로세스가 진행되는 동안 아무도 저장소에 액세스하지 않을 것이 확실한 경우에만 실행 가능한 옵션입니다 (또는 이러한 경우를 처리 할 수있는 저장소의 "핫 복사"를 수행 할 수 있음). 안전한 방식으로).

또한 모든 작업 복사본을 다시 체크 아웃하거나 URL 만 다시 작성 하는 svn switch 명령을 사용해야 합니다. 더 편리한 방법은 TortoiseSVN의 Relocate 명령 을 사용 하는 것입니다. 이는 재배치 과정에서 실수 할 위험을 줄여줍니다.


내 복원 스크립트는 다음과 같습니다.

svnadmin create repository-name --fs-type fsfs
svnadmin load   repository-name --force-uuid < repository-name.dmp

첫 번째 줄은 리포지토리가 FSFS백엔드를 사용하는지 확인합니다 (이를 포함한 많은 소스에서 권장하는 방법 : FSFS가 더 좋고 AFAIK 최신 버전의 Subversion이 기본으로 사용함). FSFS 는 Subversion 파일 시스템 구현의 이름입니다.

두 번째 줄은 더 쉬운 전환을 위해 저장소의 UUID를 유지합니다 ( --force-uuid스위치 없이 작업 복사본 재배치가 실패 함).

일부 링크 :


svnsync사용 하여 저장소를 이동할 수도 있습니다 . 이렇게하면 '이전'저장소를 중단 할 필요없이 모든 데이터를 전송할 수 있습니다. 이것은 또한 쉘 액세스 권한이 없거나 저장소 덤프에 대한 액세스 권한이없는 호스팅 된 환경에서 데이터를 가져 오는 유일한 방법입니다.


또 다른 대안 :

svnrdump를 사용하십시오. http://www.crowbarsolutions.com/backing-up-restoring-a-remote-svn-repository/

"svnrdump라는 도구가 필요합니다. Apache에 설명 된대로"svnrdump는 svnadmin 덤프 및 svnadmin로드 기능을 복제하지만 소스 또는 대상 저장소에 대한 관리자 (로컬 파일 시스템) 액세스가 필요하지 않고 원격 저장소에서 작동합니다. .”


파일 시스템 유형 리포지토리를 사용하는 경우 말 그대로 리포지토리가 포함 된 폴더를 가져와 이동할 수 있습니다. 서버를 변경하는 경우 'Relocate'명령을 사용하여 로컬 작업 디렉토리가 저장소를 찾는 위치를 변경해야 할 가능성이 있습니다.


가장 쉬운 방법은 다음을 사용하는 것입니다.

svnadmin hotcopy path/to/your_current_directory /path/to/your_destination_directory

참고 URL : https://stackoverflow.com/questions/360758/moving-a-subversion-repository-to-another-server

반응형