본문 바로가기

etc

migrate subversion repository to git without losing log data

반응형

svn에서 작업중이던 소스코드를 git 저장소로 옮겨야 하는데, git clone부터 시작하면 근본없는 저장소를 만들 수는 없기에 다음과 같이 실행해보았다.


1.현재 나는 MS윈도우 사용자이니까 MS 윈도우에 subversion 서버 설치한다.

http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11149&expandFolder=11149&folderID=91

소스트리에서 릴리즈 - 윈도우 바이너리 - svn-1.4.6-setup.exe 찾아서 이것만 설치해도 ok ->윈도 환경변수 자동으로 등록됨


2. awk 설치

윈도우 사용자는 awk 바이너리를 설치한다 (뒤에 스텝에서 필요함)

http://gnuwin32.sourceforge.net/packages/gawk.htm

압축풀고 bin 디렉토리까지 경로를 path 환경변수로 등록한다.

* 참고: awk는 리눅스에서 기본적으로 실행하는 프로그램이다. (http://wiki.kldp.org/wiki.php/Awk 참조)


3. cmd 실행

> svn help

> awk

위 명령시 이름 모를 명령이라고만 안뜨면 1, 2 설치 완료


4. 사용중이던 svn repository 체크아웃받기

> svn checkout http://svn.~~~


5. 로그 옮기기

svn log (장기간 프로젝트를 진행한 경우 명령어 실행 금지)...의 결과를 옮기고 싶은 것이니

아래와 같이 실행한다.

>cd RB-1.0.0 

(아까 checkout 받은 디렉토리가 RB-1.0.0일 경우)

> svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > authors-transform.txt





ref : 

http://www.mabishu.com/blog/2011/01/13/migrate-subversion-repository-to-git-without-loosing-data/



반응형

'etc' 카테고리의 다른 글

Fluent 2012  (0) 2012.07.04
git config  (0) 2012.07.04
test  (0) 2012.07.03
test  (0) 2012.07.03
test  (0) 2012.07.03