[CICD] SVN Git 마이그레이션(history 포함)

seoyoon·2022년 8월 31일
0

0. 개요


기존에 형상관리를 SVN으로 사용 중이였는데 Git으로 마이그레이션을 진행해보겠습니다.

1. 마이그레이션 툴 다운로드

1) 다운로드

https://bitbucket.org/atlassian/svn-migration-scripts/downloads/
위 사이트에 접속해서 아틀라시안에서 제공하는 svn 마이그레이션 툴을 다운 받습니다.

2) 설치 확인

java -jar svn-migration-scripts.jar verify

정상적으로 설치가 됐다면 아래와 같이 정보를 확인할 수 있습니다.
git는 버전 1.7.7.5 이상 subversion은 1.6.17 이상이 필요하다고 합니다.

2. SVN에서 author 정보 추출

svn에서 history를 이전 하려면, svn 저장소로부터 author 정보를 추출해야 합니다.

java -jar svn-migration-scripts.jar authors svn://svn.example.com/project {username} {passwd} > authors.txt

{username}에는 svn 계정 이름, {passwd}에는 패스워드를 넣으면 됩니다. 그러면 아래와 같은 형태로 author 정보가 authors.txt로 추출됩니다.

[예시]
aaa = aaa aaa@mycompany.com
bbb = bbb bbb@mycompany.com

왼쪽은 svn이름, 오른쪽은 git 이름과 이메일 주소입니다
commit history를 git에 등록하기 위해서는 이메일 주소가 필요합니다.
오른쪽 이름을 각각 맞게 바꾸어 주면 된다.

[예시]
aaa = Hong Kil Dong kdhong@velog.com
bbb = Kim Min Sy mskim@velog.com

svn 사용자인 aaa의 이름은 홍길동이고, 이메일 주소는 kdhong@velog.com 입니다.

3. svn ➡️ git 이전 작업

git svn clone 이라는 명령어로, svn 저장소를 git 저장소로 다운로드 받습니다.
2. 에서 생성한 authors.txt를 사용해 history를 이전합니다.

git svn clone svn://svn.example.com/project --authors-file=users.txt --no-metadata

4. git 원격 저장소에 push하기

이전이 완료되었다면 지금까지의 svn 커밋 사항이 git의 기본 branch인 master에 commit 됩니다.
먼저 원격지(origin)를 등록한 다음, push한다.

git remote add origin http://{username}@git.example.com/project
git push origin master
profile
Backend Developer

0개의 댓글

관련 채용 정보