Upload
leonardo-kim
View
2.359
Download
2
Embed Size (px)
DESCRIPTION
GIt 마을로 이주하기 (Git -> Svn) svn-all-fast-export를 사용합니다.
Citation preview
Git 마을에 입주하기@dalinaum
2011년 6월 9일 목요일
Why?
• Cheap Local Branching
• Everything is Local
• Git is Fast
• Git is Small
• The Staging Area
• Distributed
• Any Workflow
2011년 6월 9일 목요일
Cheap Local Branching!
• http://whygitisbetterthanx.com
2011년 6월 9일 목요일
Everything is Local!
• http://whygitisbetterthanx.com
2011년 6월 9일 목요일
Fast!
• http://whygitisbetterthanx.com
2011년 6월 9일 목요일
Staging Area!
• http://whygitisbetterthanx.com
2011년 6월 9일 목요일
Small!
• http://whygitisbetterthanx.com
2011년 6월 9일 목요일
Any Workflow
• http://whygitisbetterthanx.com
2011년 6월 9일 목요일
SVN 이주의 어려움?
• 대체 언제되는거에요?
2011년 6월 9일 목요일
SVN의 전형적인 구조
• 개별적인 디렉토리
2011년 6월 9일 목요일
SVN의 전형적인 구조?
2011년 6월 9일 목요일
• 코더 양반 이게 무슨 소리요!!
2011년 6월 9일 목요일
SVN의 전형적인 구조?
• 오래된 SVN 프로젝트는 어떻게 구성되어 있을지 예상하기 힘듭니다.
2011년 6월 9일 목요일
깨진 저장소
2011년 6월 9일 목요일
Heavy Storage
2011년 6월 9일 목요일
Git-svn
• Git가 제공하는 이주도구
2011년 6월 9일 목요일
Git-svn is painfully slow!
• git-svn Git가 제공하는 이주 도구
2011년 6월 9일 목요일
Stupid!
2011년 6월 9일 목요일
Exception!
• Broken link, Invalid checksum...
2011년 6월 9일 목요일
대안?
• 대부분이 Git-svn 기반!!!!
2011년 6월 9일 목요일
svn-all-fast-export
2011년 6월 9일 목요일
svn-all-fast-export
• KDE의 GIT이주를 위해 Thoas Zander가 만든 도구
Thomas Zander (KDE)
2011년 6월 9일 목요일
장점
• 더 빠릅니다.
• 복잡한 요구사항을 만족합니다.
• 예외 처리에 안정적입니다.
2011년 6월 9일 목요일
단점
2011년 6월 9일 목요일
어렵습니다.
• 룰을 작성해야 하는데 영어로 된 글조차 별로 없습니다.
2011년 6월 9일 목요일
한번에 이주합시다.
• 필살기라고 생각합시다.
2011년 6월 9일 목요일
빌드
• Ubuntu에 있는 도구가 버전이 낮습니다.
2011년 6월 9일 목요일
필요한 패키지
• $ sudo apt-get install git-core libsvn-dev qt4-dev-tools libqt4-scripttools qt4-designer ligqt4-gui libqt4-designer qt4-qmake
2011년 6월 9일 목요일
다운과 빌드
• git clone git://gitorious.org/svn2git/svn2git.git
• cd svn2git
• qmake
• make -j4
2011년 6월 9일 목요일
SVN을 가져옵시다.
• 한두번은 실패할 수 있습니다.
• 그래서 로컬로 옮겨두고 작업해야 퇴근을 일찍할 수 있습니다.
2011년 6월 9일 목요일
SVN 가져오기• svnadmin create <디렉토리>
• echo ‘#!/bin/sh’ > <디렉토리>/hooks/pre-revprop-change
• chmod a+x <디렉토리>/pre-revprop-change
• svnsync --username <이름> --password <패스워드> init file://`pwd`/<디렉토리> <svn 저장소>
• svnsync sync file://`pwd`/<디렉토리>
2011년 6월 9일 목요일
룰을 만듭시다.
• create로 저장소를 만듭니다.
• match로 원하는 디렉토리를 설정합니다.
• 예외 처리를 위해 match /를 삽입합니다.
2011년 6월 9일 목요일
옮깁시다.
• svn-all-fast-export --rules <룰파일> <svn디렉토리>
2011년 6월 9일 목요일
참고
• kde의 이주를 위해 사용했던 rule들이 공개되어 있습니다. (아주 많습니다.)
• http://gitorious.org/svn2git/kde-ruleset
2011년 6월 9일 목요일
Q�A
2011년 6월 9일 목요일
Nil.
2011년 6월 9일 목요일