svnsync는 1.4.0에서 새로 생긴 명령입니다. svnsync 명령을 이용해서 저장소를 그대로 복사해 올 수 있습니다. 단 복사해오고자 하는 원본 저장소가 Subversion 1.4 이상을 사용하고 있어야 하며 1.4 이하를 사용하고 있을 경우 svnsync 명령이 동작하지 않습니다.
먼저 빈 저장소를 만듭니다.
# cd /home/svn/ /home/svn# svnadmin create syncsample
새로 만든 빈 저장소의 hooks 디렉토리에 pre-revprop-change 파일을 만들고 아래의 내용을 입력한 뒤 저장합니다. /home/svn/syncsample/hooks/pre-revprop-change
#!/bin/sh
pre-revprop-change 파일을 실행할 수 있도록 권한을 조정합니다.
/home/svn/syncsample/hooks# chmod 777 pre-revprop-change
svnsync를 사용할 수 있도록 저장소를 초기화 합니다. file:///home/svn/syncsample은 방금 만든 빈 저장소 경로이고 http://svn.collab.net/repos/svn은 복사해 올 원본 저장소의 주소입니다. http://, svn://등 접속 가능한 저장소 주소이면 되고 trunk나 branches같은 디렉토리가 아닌 최 상위 디렉토리의 주소로 설정해줘야 합니다.
/home/svn# svnsync init file:///home/svn/syncsample http://svn.collab.net/repos/svn Copied properties for revision 0.
이제 저장소를 복사를 시작합니다.
최신 리비전 까지 복사해오면 svnsync 명령이 끝난 것입니다.
이제 이 저장소에서 소스를 체크아웃 하여 살펴볼 수 있습니다.
/home/svn# svnsync sync file:///home/svn/syncsample Committed revision 1. Copied properties for revision 1. Committed revision 2. Copied properties for revision 2. Committed revision 3. Copied properties for revision 3. Committed revision 4. Copied properties for revision 4. Committed revision 5. Copied properties for revision 5. Committed revision 6. Copied properties for revision 6. ....
이제 이 저장소에서 소스를 체크아웃 하여 살펴볼 수 있습니다.
Windows의 경우는 아래와 같이 사용합니다.
저장소 생성
C:\repos>svnadmin create syncsample
새로 만든 저장소의 hooks 디렉토리에 pre-revprop-change.bat라는 빈 파일을 만듭니다.
초기화
C:\repos>svnsync init file:///c:/repos/syncsample http://svn.collab.net/repos/svn
저장소 복사
C:\repos>svnsync sync file:///c:/repos/syncsample
출처 : 다음 블로그
참고 : SubVersion How to
'subversion' 카테고리의 다른 글
git 배우기 (0) | 2013.09.23 |
---|---|
Visual Stduio C++ 소스코드에 SVN 정보 넣기 (0) | 2012.09.20 |
svn dump 하기 (0) | 2011.09.06 |