Development

SVN을 Git으로 전환하는 방법

chbae 2023. 4. 21. 03:48
728x90

History를 살리면서 SVN을 Git으로 전환하는 방법은 생각보다 쉽게 가능하다.

 

git svn 명령어를 사용할 것이므로 git svn 을 설치한다. 우분투는 sudo apt-get install git-svn 명령어를 사용하여 설치한다.

 

Subversion 사용자 이름과 Git Author 간에 연결을 해줘서 Author 정보를 Git 스타일의 Author 정보로 변경한다. users.txt라는 파일을 아래와 같이 만든다.

$ svn log ^/ --xml | grep -P "^<author" | sort -u | \  
    perl -pe 's/<author>(.*?)<\/author>/$1 = /' > users.txt

 

이 파일을 git svn 명령에 전달하면 보다 정확한 Author 정보를 Git 저장소에 남길 수 있다. 그리고 git svn의 clone이나 init 명령에 --no-metadata 옵션을 주면 Subversion의 메타데이터를 저장하지 않는다. 해당 명령은 아래와 같다:

$ git svn clone http://my-project.googlecode.com/svn/ \  
    --authors-file=users.txt --no-metadata -s my_project

Reference: