svn to git migration

배세훈·2021년 8월 3일
0

Etc/용어

목록 보기
12/16

// 1. svn의 이력을 모두 가지고 trunk, branches, tags를 구분하여 가져옴
$ git svn clone <SVN_URL> -T trunk -b branches -t tags

// 2. 1번에서 가져온 폴더로 접속 후 git url 매핑
$ git remote add origin

// 3. git에 밀어 넣기
$ git push origin master

svn checkout(svn checkout할 디렉토리 생성 후 해당 디렉토리 안에서 실행)

  • svn checkout svn://123.456.7.890:8080/test/svn(svn주소)
  • 해당 svn 주소의 username과 password 입력창이 나오면 입력해주세요

users.txt 파일 생성 (여기부터 소스코드 폴더 내에서 작업)

  • .svn 폴더가 있는 폴더에서 작업을 시행해야 합니다.
  • 아래 명령어는 users.txt 라는 파일이름으로 svn 이력을 옮기기 위한 사용자 정보가 저장된 텍스트 파일 생성하는 명령어
  • svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > users.txt

2번에서 생성된 users.txt 파일 정보 수정

  • park = 별칭
  • ex) park = park park@test.com 형식으로 변경
  • 이 파일에 있는 정보를 기반으로 git에 커밋 이력을 옮깁니다.

다음 명령은 저장소를 체크 아웃하고 현재 작업 디렉토리에서 변환을 수행합니다.

GitLab 저장소를 Git 원격으로 추가

  • git remote add origin(별칭) git@gitlab.com:/.git(git주소)

Git Push

  • git push --all origin(7번의 별칭과 동일하게)
  • git push --tags origin(7번의 별칭과 동일하게)\

참조 페이지

https://pjs21s.github.io/svn-to-git/

https://docs.gitlab.com/ee/user/project/import/svn.html

profile
성장형 인간

0개의 댓글