일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Vision
- OS
- kubeadm
- Python
- CVAT
- PostgreSQL
- Network
- CSV
- kubectl
- tcp
- airflow
- ip
- java
- Packet
- Spring
- aws s3
- kubernetes
- MAC address
- docker
- helm
- EC2
- Operating System
- Kafka
- jvm
- grafana
- AWS
- JavaScript
- log
- zookeeper
- Trino
Archives
- Today
- Total
JUST WRITE
SVN to Git Migration 본문
SVN 프로젝트를 GitLab으로 Migration 했던 사항을 정리한 글입니다.
SVN, GitLab 관련 주소는 회사 Repository 주소가 아닌 임의 주소로 변경하였습니다.
authors.txt 파일 생성
- SVN Repository History 정보까지 가져오기 위해서 SVN 프로젝트 유저 정보를 파일로 정의
- svn-migration-scripts.jar Library를 활용하여 간단하게 command로 정리
- svn-migration-scripts.jar 관련 링크
- authors.txt 파일 생성
- 내용 규칙 : ${SVN유저} = ${GitLab유저명} <${GitLab유저 Email주소}>
# 작업 서버에 SVN, GIT 등이 설치 되어 있는지 확인
java -jar svn-migration-scripts.jar verify
# 작업 서버에 SVN Repository 프로젝트 유저 정보 가져오기
java -jar svn-migration-scripts.jar authors ${SVN_프로젝트_URL} > ${유저 정보 저장하려는 파일명}
# 예시
# dataware-bizmeta-module 프로젝트 참여한 유저정보를 authors.txt 파일에 저장
java -jar svn-migration-scripts.jar authors https://localhost/svn/roadmap_project > authors.txt
# authors.txt 내용 -> 이메일주소 변경 알맞게 변경필요
# 변경 전
swjeong = swjeong <swjeong@mycompany.com>
# 변경 후
swjeong = swjoeng <swjeong@gmail.com>
git svn clone
- SVN 프로젝트를 checkout 하면서 Git Repository로 구성
- git svn command -> git에서 제공, git과 SVN 관련 command 제공. 관련 링크
- GitLab에 올리기 전 Local에 SVN 프로젝트를 Git 프로젝트로 Migration 하기 위한 작업
# 주요 옵션 정리
# --stdlayout => SVN 프로젝트 구조가 표준구조(/trunk, /branches, /tags로만 구성)일 경우 사용
# --no-metadata => SVN 메타데이터(bug report, archive 정보) 안 들고 오는 옵션, git migration만 할 경우 추천
# --authors => 유저 정보 파일 PATH 설정
# 기본 포맷
git svn clone ${SVN_프로젝트_URL} --authors-file=${유저정보_파일_PATH} ${받는_프로젝트_폴더}
# 예시
git svn clone https://localhost/svn/roadmap_project --stdlayout --no-metadata --authors-file=authors.txt ./roadmap_project
roadmap_project 폴더 생성 -> 해당 폴더에 해당 SVN 프로젝트 받아지면서 GIT 프로젝트로 생성
# SVN -> Git으로 변경된 프로젝트 branch 확인
cd ./roadmap_project
git branch -a
master
remotes/origin/trunk
-> branch 가 remote/origin/${branch명}으로 들어오는 거 확인
git remote push
- GitLab 미리 git 프로젝트 생성
- Migration 한 프로젝트 remote 연결(GitLab) 및 push
# Git 프로젝트 remote(GitLab) 연결
git remote add origin ${GitLab_프로젝트_CLONE_PATH}
# 예시
git remote add origin git@gitlab.encore.rnd:projects/roadmap-backend.git
# git branch에 따른 push 명령어 만들어주는 command -> 나온 결과 생성
printf "git push origin "; git show-ref | grep refs/remotes | grep -v '@' | grep -v remotes/tags | perl -ne 'print "refs/remotes/$1:refs/heads/$1 " if m!refs/remotes/(.*)!'; echo
# 예시 결과
git push origin refs/remotes/origin/origin/trunk:refs/heads/origin/origin/trunk refs/remotes/origin/trunk:refs/heads/origin/trunk
GitLab 프로젝트 설정
- origin/trunk branch -> master branch로 생성
- master branch
- Default branch로 설정
- protected branch로 설정
- Allowed to merge, Allowed to push -> Maintainers로 설정
[참고사이트]
728x90
반응형
'ETC' 카테고리의 다른 글
What is Parquet? (0) | 2022.02.24 |
---|---|
Git flow (0) | 2021.10.27 |
git config (0) | 2021.09.13 |
git Term(1) (0) | 2021.09.12 |
What is git? (0) | 2021.09.07 |
Comments