프로젝트 관리: 서브버전 저장소 사본 만들기, svnsync
블로그가 이사를 갔어요!
죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브
프로젝트 관리 > 버전관리 > 서브버전 저장소 사본 만들기 (Repository Replication)
지금의 업무 환경이 마땅치 않아서 이기고 하고 또 한편으로는 작은 오픈소스 프로젝트를 열어보고자 하는 생각도 있고 하여, 요 얼마간 서브버전을 지원하는 공개 프로젝트 호스팅 서비스를 찾고 있었다. 실은 trac을 지원하는 무료 호스팅 서비스를 원했으나 적당한 것을 찾지 못했다. (도와주세요) 1
프로젝트 호스팅 서비스를 찾다보니 고민하게 되는 것이, 만약의 사태에 대한 대비 또는 써보니 서비스가 성에 차지 않는다든지 하여 이사하게 될 상황에 대한 대책 마련이다. (직접 운영하는 저장소는 단순히 저장소를 묶어 보관하는 것 만으로도 충분한 백업 또는 이전 대책이 서기 때문에 아직까지 이런 필요성을 느끼지는 않았었다.)
서브버전이 제공하는 기능 중에 저장소의 읽기 전용 사본을 만드는 기능이 있다. 기능의 본래 취지는 말 그대로 읽기 전용 사본을 만드는 것이지만 (대부분의 오픈소스 프로젝트를 보면, 커밋 권한을 가진 개발자에 비하여 엄청나게 많은 수의 사용자들이 읽기 전용 권한으로 소스를 받아가게 되는데, 이런 부하를 분산시킬 수 있는 또는 지역으로 미러링 할 수 있는 기능이 필요하다.) 이 기능이 나의 백업/이전 용도에도 적절히 사용될 수 있을 것 같다.
과정은 다음과 같다.
$ mkdir /svn-mirror $ svnadmin create /svn-mirror/my-project $ cd /svn-mirror/my-project/hooks $ cp pre-revprop-change.tmpl pre-revprop-change $ vi pre-revprop-change $ chmod 755 pre-revprop-change $ svnsync init file:///svn-mirror/my-project svn+ssh://repository/var/svn/my-project sio4@repository's password: 리비전 0의 복사된 속성 $ svnsync sync file:///svn-mirror/my-project sio4@repository's password: 커밋된 리비전 1. 리비전 1의 복사된 속성 $ svn log file:///svn-mirror/my-project ------------------------------------------------------------------------ r1 | sio4 | 2008-04-08 23:02:46 +0900 (화, 08 4월 2008) | 2 lines prepare project repository. ------------------------------------------------------------------------ $
- 먼저 미러를 보관하기 위한 디렉토리를 만들고 그 안에 빈 저장소를 만든다. (저장소를 복사하는 것이 아니라 변경점을 동기화하는 것이 이 사본 만들기 기능의 방식이기 때문에 저장소 생성은 별도의 작업으로 진행된다.)
- 만들어진 빈 저장소에 pre-revprop-change 후크를 설정해준다.
- 프로젝트의 주 저장소와 연결하기 위하여 `svnsync init` 명령을 수행한다.
- 연결된 사본을 `svnsync sync` 명령을 수행하여 동기화한다.
이상의 간단한 단계를 거쳐 이제 로컬에 저장된, 그리고 주 저장소와 동일한 복사본을 얻었다. 물론 읽기 전용 사본으로써 활용하기 위해서는 보다 정교한 설정이 필요하겠지만 나의 용도인 저장소 백업을 위해서는 이 정도면 충분하리라고 생각한다. 음... 글쎄... 정말 이사갈 일이 생기면 방 빼는 건 쉬웠는데... 다시 들여놓는 것도 그렇게 간단할까?
- 혹시 적당한 trac 호스팅 서비스를 알고계신다면 알려주세요. 또는 서버와 라인을 제공해주실 분이 있다면 직접 서비스 운영을 해볼 생각도 있는데요 :-) [본문으로]
'개발' 카테고리의 다른 글
django를 다른 웹서버에 의존하여 돌리기 (0) | 2009.10.07 |
---|---|
남에게 일을 주었다. 언제 검수해야 하는가? (0) | 2007.11.21 |
"The Power of Code Review" (0) | 2007.05.21 |