출처 : http://miren.info/bbs/viewtopic.php?p=1225#1225
- 설치
– 윈도우즈 환경에서는 간단하게 pythonwin setup.py install 하면 된다.
– 이 때 설치되는 내용은 다음과 같다.코드: Python\Lib\site-packages\cvs2svn_rcsparse 만든 후 복사 및 만들어지는 것
– common.py, compat.py, debug.py, default.py, texttools.py, __init__.py
– common.pyc, compat.pyc, debug.pyc, default.pyc, texttools.pyc, __init__.pycPython\Scripts에 복사되는 것
– cvs2svn
– cvs2svn_rcsparse 경로를 참조할 수 있으면 굳이 설치하지 않아도 된다. (아래 내용과 같이 인코딩 변환을 해야 한다면 설치하는 게 낫겠다.)
- CVS 저장소 내용을 SVN으로 변환하기
- 전제 조건
– Python을 명령 프롬프트에서 실행할 수 있도록 path 설정을 해야 하므로 다음 정보를 설정했다.코드: C:\PROGRA~1\Python\Lib\site-packages\win32
C:\PROGRA~1\Python\Lib\site-packages\win32\lib
C:\PROGRA~1\Python\Lib\site-packages\Pythonwin
– GNU sort를 사용하므로 http://unxutils.sourceforge.net/ 에서 win32용을 받고 압축을 풀어준 다음 마찬가지로 실행파일이 있는 wbin 디렉터리를 path에 추가한다. 또는 sort.exe를 cvs2svn과 함께 둔다.
– cvs2svn을 바로 실행할 수 없었으므로 cvs2svn.py로 이름을 바꾼다. - 변환하기
– 명령 프롬프트에서 Python\Scripts 로 이동해 실행한다.
– 인자부분에는 [-s svn-repos-path|–dump-only] cvs-repos-path 와 같이 사용
– RCS의 co를 사용하지 않고 CVS를 사용하려면 –use-cvs 옵션을 준다.
– 기본적으로는 버클리 DB를 사용해 저장소를 만들므로 저장소를 fsfs 타입으로 사용하려면 저장소를 먼저 만든 후에 변환을 해야 한다.
– 정리하면 다음과 같다. 만들면 trunk, branches, tags를 자동으로 만들어 소스를 알아서 넣어준다.코드: cvs2svn.py –use-cvs –existing-svnrepos -s x:\svnrepo\prj_a x:\cvsrepo\prj_a
– cvs의 모듈 위치를 지정할 때는 CVSROOT와 함께 있는 실제 소스 위치를 지정한다. (저장소에 접속할 때 사용하는 위치가 아니다.)
- 전제 조건
- 주의할 점
– CVS에서 한글을 사용했다면 인코딩 문제로 SVN으로 변환하면 한글이 모두 깨어진다. 이는 기본적으로 CVS 로그 정보를 ASCII로 간주하기 때문인데 어쨌거나 로그 정보를 볼 수 없어 매우 치명적이다. 게다가 한글 이름의 파일도 변환하지 못 한다.
– 이를 해결하기 위해서는 –encoding 옵션을 사용한다. 그러므로 이 때는 다음과 같이 한다.코드: cvs2svn.py –use-cvs –existing-svnrepos –encoding=mbcs -s x:\svnrepo\prj_a x:\cvsrepo\prj_a