회사에서 perforce를 쓰다가 git으로 이관하면서 겪었던 걸 정리 해본다.

perforce를 git으로 이관해 주는 건 4가지 정도가 있었던 거 같은데

perforce서버에서 하거나 유료 솔루션을 사거나 뭐 이런 여러가지 옵션...


그 중에서 무료에 오픈소스로 되고, 서버 설정을 건들이지 않고 하는게 git-p4 이다.


물론 하면서 우여곡절이 좀 있긴 했지만 ;;


기본적인 설치와 하는 법은 http://ericlathrop.com/2012/12/how-to-set-up-git-p4-in-windows/ 여기에서 확인 할 수 있다.

그리고 추가적인 도움을 받은 곳이 https://yonmy.com/archives/90#comment-4570 여기 이다.


몇가지 주의점(?)을 적어보면

python 버전

python 2.7 에서 된다.  2.x 에선 다 될꺼 같긴하지만... 여튼 3.x에선 안되는 것 같았다.

한글 인코딩

기본적으로 커밋 시 한글로 작성한 경우가 많은데 기본 인코딩이 cp949 또는 euc-kr 이다 보니 git으로 이관할 때 인코딩이 깨지는 사태가...

두번째 사이트의 인코딩 관련 내용을 보기 전 까진 커밋 메세지는 git msg-filter iconv를 이용해서 하나씩 변환

커밋터는 env-filter를 이용해서 변환

filter를 이용해서 변환하면 일단 오래도 걸리고, 똑같은 내용인데 될때도 있고 안될 때도 있었다(거의 다 옮기고 마지막 프로젝트 쯤에...)

왜 git-p4에서 변환할 생각을 안했는지 -_-;


두번째 사이트를 보고 코드가 merge되기 전이라 pr날린 걸 가져와서 수정된 git-p4를 적용하고 git config –global git-p4.charset cp949 명령으로 설정을 추가하고 나면

git clone만으로 작업이 끝난다 ! filter-branch를 할 필요가 없는 것 이다.

author도 인코딩을 위해서 조금 더 수정을 함

clone 이후에 gitk 정도로 확인 ~

p4 workspace

딱 이관을 해야할 워크스페이스를 맞추는 게 중요

workspace는 그대로 두고 clone할 때 명령어만 맞게 적으면 될줄 알았더니 안되더란 ㅠ


위에 3가지를 주의 하고 나면 생각보다 쉽게(?) 이관이 된다.

기존에 워크스페이스를 크게 잡아서 쓰고 있었다면 git으로 이관 시 repo단위로 쪼개다 보니 허들이 생길 수도 ~


변경한 git-p4 는 gist에 커밋 해 두었다.

git-p4를 gist에서 검색 해보면 생각보다 많은데 ... 커밋 내용을 좀 보고 인코딩 관련이 많다는 게 ㅎ

 






+ Recent posts