Subversion 서버의 관리자라면 svnadmin 으로 저장소를 쉽게 복사하겠지만 Google Code와 같은 외부 관리 하에 있는 저장소를 사용할 때는 svnsync 를 사용해야 한다.
svnsync 는 원격 저장소의 로그를 모두, 또는 선택적으로 복사한다. 따라서 최신 코드 뿐 아니라 과거의 변경 작업까지 모두 필요할 때 유용하다.
여기서는 Windows 를 기준으로 svnsync 의 사용법을 간략하게 설명한다.
- 로컬 저장소를 만든다. 원격 저장소를 여기에 복사할 것이다. 로컬 저장소의 경로가
D:\workspacetempearlgrey
라고 가정하면 다음과 같이 명령을 내린다.svnadmin create d:\workspacetempearlgrey
- pre-revprop-change.bat 파일을 생성하고 아래와 같이 편집한다.
@echo off exit /b 0
- svnsync 초기화.
svnsync init --source-username=my@username --source-password=mypassword file:///d:/workspace/temp/earlgrey http://earlgrey.googlecode.com/svn
- 동기화(복사) 시작.
svnsync sync --source-username=my@username --source-password=mypassword file:///d:/workspace/temp/earlgrey
이렇게 만든 복사본을 자신이 사용하는 로컬 SVN 에 붙이면 일은 끝난다.
이러한 기법은 외부의 오픈소스 프로젝트를 인터넷과 단절된 사내 망에 가져올 때 유용하다.
참고 문헌
svnsync로 PC에 svn repository를 mirroring하기
Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
pre-revprop-change.bat 파일은 해당 생성한 저장소 경로에 있는 hooks 폴더 안에 생성하면 되더군요
안써있어서 해멨네요.