회사에서 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에서 검색 해보면 생각보다 많은데 ... 커밋 내용을 좀 보고 인코딩 관련이 많다는 게 ㅎ

 






python 2.x 대역에서 일반적으로 내용에 한글이 들어갈 때 utf-8처리를 위해선

#-*- coding: utf-8 -*-


코드를 많이 쓰는데.


해당 구문을 넣어도 format, string함수에서 쓰다보면 한글이 제대로 입력 되지 않는 경우가 발생한다.


이런경우 sys를 import해서 인코딩 세팅을 해줘어야 하는데


import sys

reload(sys)

sys.setdefaultencoding('utf-8')



해당 코드를 다 적으면 잘 돌아간다.



Swift에서 url 호출 시 한글이 포함되면 nil이 된다.


url중 한글을 인코딩 하기


var baseUrl = "https://www.google.co.kr/?gws_rd=ssl#newwindow=1&q="

        var query = "한글"

        var encodeQuery = query.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)

        var reuqestUrl = baseUrl +  encodeQuery!


URL에서 인코딩이 필요하거나

디코딩이 필요한 경우 유용한 사이트


http://www.url-encode-decode.com/


인코딩, 디코딩 둘다 지원.


디코딩의 경우 네이버에서 query로 들어어가는 문자열로 넣어주면 쉽게 디코딩 가능

+ Recent posts