과거 프로젝트는 cvs 로 버전 관리를 했었는데 이제 cvs는 쓰지 않고, 지금 하는 프로젝트들은 프로젝트 별로 svn repo에 관리했었기에 이 참에 옛날 repo를 변환해 보자 하고 cvs2svn을 해보기로 했다. 이 글은 메뉴얼이라고 보다는 경험담이다. 나중에 다시 작업할 때 까먹지 않도록..
준비물
- Python 2.4
- cvs2svn : cvs2svn.tirgis.org 사이트에서 cvs2svn-1.5.1.tar.gz 이거 다운 받아서 깔았다.
- 잡다한몇가지툴 : cygwin에서 몇가지 필요한 것들을 가져왔다. 이건 나중에 사용하기 좋으라고 여기에 올려논다. (sort.exe, cvs.exe등등..) cygwin-tools.zip
절차
- 먼저 옛날에 쓰던 cvs repo를 적당한 디렉토리에 놓는다. 나는
e:\cvs
에 놨다. - 빈 디렉토리를 하나 만들었다.
e:\svnrepo
라고 만들었다. - 방금 만든 디렉토리에 가서 (TortoiseSVN이 깔렸다는 전제하에) 마우스 오른쪽을 클릭해서 Tortoise SVN > Create Repository here&#를 눌러서 빈 새 저장소를 만든다.
- 이제 다운받은 cvs2svn을 적당한 디렉토리에 풀어놓는다.
- 그 안에 보면 cvs2svn 이란 파일이 있는데, 이 파일을 cvs2svn.py로 이름을 바꾼다.
- 준비물 3번째 잡다한몇가지툴을 cvs2svn깐 디렉토리에 압축을 푼다.
- 명령 프롬프트에서 다음의 명령어를 친다.
cvs2svn.py –use-cvs –existing-svnrepos –encoding-mbcs -s e:svnrepo e:cvs
- 에러 없이 끝나면 오케이다. e:svnrepo에는 cvs에서 작업한 것들이 저장되어 있을 것이다. 이제 이 디렉토리를 설정된 svn repo 디렉토리로 이동한다.
- TortoiseSVN으로 주소 입력해서 repo에서 데이터를 받아온다.
- 그러면 Trunk, Tags, Branches 로 디렉토리가 남겨져 있고 모든 데이터가 Trunk에 담겨져 있는 것을 볼 수 있다.
도움주신 글들
Miren.Info의 Subversion 관련 정보
http://miren.info/bbs/viewtopic.php?p=1225#1225