svn 을 git 로 바꾸기

기존의 svn 저장소를 git 에서 이용하는 방법 중의 가장 대표적인 것은 git-svn 일 것이다. 그런데 사정상 git-svn 을 사용할 수 없어서, svn 저장소를 git 저장소로 바꾸는 방법을 찾아 보았다.

일단, 검색된 것은 svn2git 였다. 그런데 svn2git 는 ruby 가 있어야 했다. ruby 깔기도 귀찮고 해서 다른 방법을 찾아 보았는데, SubGit 라는 것이 있었다. SubGit 은 Java 1.5 이상이 있어야 했지만, 다행히 Java7 이 깔려 있었다.

그래서 다운로드 페이지의 QuickStart에 설명되어 있는 대로 바로 시도.

오~~~ 잘 된다. 이렇게 하면 자동으로 svn 저장소와 싱크가 된다고 한다. 하지만 나는 굳이 svn 저장소와 싱크를 원하지 않았다. 그래서 싱크하지 않는 방법은 없나 찾아보니, 역시나 있다. One-time import.

저장소를 바꾼 후에 git log 를 통해서 commit log 를 살펴봤더니, 작성자는 svn commiter 로 이메일은 commiter_id@local 로 바뀌었다. 이것을 바꾸는 기능은 없나 살펴봤더니, 역시나 있다. 필요로 하는 것은 다들 필요로 하는구나 싶은 순간.

import 명령 도움말에 보면 --authors-file 옵션이 있다. 이를 이용하자. FILE 의 형식은


여기에서 확인.

tag 도 깔끔하게 바뀌는 것을 확인했다. 다만 branch 가 없던 저장소라 branch 는 확인하지 못했지만, 잘 될 거라 믿어 의심치 않는다.

참, SubGit 은 평가용으로 원할 때까지 쓸 수 있지만 등록하라는 메세지가 나온다. 이게 싫다면 등록하면 된다. Free 용은 committer 10명까지, Open Source 용은 제한이 없는 것 같고, 상업용은 용도에 따라 가격이 달라진다.

내게는 어차피 한 번만 필요했기에, 등록하지 않고 지워버렸다. ^^

하지만, 나중에 또 필요하다면 찾게 될지도.

댓글

이 블로그의 인기 게시물

토렌트: < 왕좌의 게임 > 시즌 1 ~ 시즌 8 완결편 마그넷

토렌트: NGC < 코스모스 > 우리말 더빙 전편(1편~13편) 마그넷

토렌트: < 스타워즈 > Ep.1 ~ Ep.6 마그넷