[OSX] Snow Leopard 에서 subversion 한글 문제 없이 사용하기 Computer Tip

이전블로그에서 서브버전(subversion)을 사용하는 방법을 기술하였는 바,
그 이후로 사용하고 있는 모든 OS (윈도우, 우분투, OSX 등)에서 subversion을 잘 사용하고 있다.
그런데 단 한가지 문제가 발생하였는데 바로 현재 사용하고 있는 맥북프로에서 
터미널 창에서 svn 명령을 내리면 한글 부분이 깨지는 것이었다.
그래서 VirtualBox로 설치되어 있는 XP 에서 공유폴더를 지정하고 해당 부분을
tortoiseSVN으로 commit 시키는 아주 이상한 방법을 이용했었다.

구글에서 검색을 해 본 결과,
다음의블로그에서 힌트를 얻어 처음 시도를 해 본 결과 실패를 했었다.

오늘 두번째 시도를 해서 드디어 한글 부분의 패치를 하여 제대로 된 svn client 를 얻을 수 있었다.

아래는 그 방법을 기술한다.

1) svn 원본 사용안하기
$ sudo mv /usr/bin/svn /usr/bin/svn.org
svn 의 이름을 svn.org로 변경시켜 svn으로 명령을 줄 때 PATH에 따라 헷갈리지 않도록 한다.

2) macport 설치
snow leopard용 macport를 다운받아 설치합니다.

3) macport 로 subversion 설치
$ sudo port selfupdate 
<== 위 명령으로 설치된 이후의 패키지 변화분을 가져온다. (우분투의 $ sudo apt-get update 명령과 유사)
$ sudo port install subversion
<== 위 명령으로 subversion이 설치되면 /opt/local/bin/svn 이 설치되는데 이 버전은 한글이 깨졌다)

4) macport로 wget 설치
$ sudo port install wget

5) subversion 1.6.13 소스를 다운받는다.
$ cd /opt/local/src
$ sudo wget http://subversion.tigris.org/downloads/subversion-1.6.13.tar.bz2

6) 압축해제한다.
$ cd /opt/local/src
$ sudo tar xvfj subversion-1.6.13.tar.bz2

7) 다음의 패치파일을 다운받아 /opt/local/src/subversion-1.6.13 디렉터리에 이동시킨다.
패치파일 darwin_path_c.diff

8) 패치를 적용한다.
$ cd /opt/local/src/subversion-1.6.13
$ sudo patch -p1 < darwin_path_c.diff 
patching file subversion/libsvn_subr/path.c

9) 다음과 같이 ./configure를 구동시켜 Makefile을 만든다.
$ cd /opt/local/src/subversion-1.6.13
$ sudo ./configure --prefix=/opt/local --with-berkeley-db=db.h:/opt/local/include/db46:/opt/local/lib/db46:db
<== 버클리 db 버전이 틀릴 수 있으므로 주의!!

10) make && make install
$ cd /opt/local/src/subversion-1.6.13
$ sudo make install
$ which svn
/opt/local/bin/svn

이상과 같이 정상적인 svn을 build하여 잘 이용할 수 있었다.
기존에 한글이 제대로 svn 사용할 수 없어 고심하던 것이 앓던 이 빠지듯이 해결하게 되었다.
(해적의 쉼터 님께 이자리를 빌어 감사의 말씀을 올린다)

그러면 기존에 
$ svn.org st
?       SemanticWeb/작업
!       SemanticWeb/작업
...
와 같이 오류가 발생하던 것들이,

$ svn st
$

와 같이 정상적으로 잘 동작하였다.

첨부로 global ignore 시킬 파일 또는 디렉터리 명을 설정하는데,

$ vi ~/.subversion/config
global-ignores = bin obj RECYCLER Thumbs.db *.o *.tmp *.~* *.obj *.user *.suo *.dcu *.rsm *ebug *elease *.FileList.txt *.ncb *.old *.sbr *.pch .* *.class

와 같이 설정하여 필요없는 파일을 svn에 넣지 않도록 한다.

덧글

  • 몽몽이 2011/05/04 19:09 # 삭제 답글

    macports를 살펴 보았습니다.

    간단하게 다음과 같이 입력하시지요!

    # sudo port install subversion +unicode_path

    위에 말씀하신 것과 똑 같은 작업일 겁니다. 그리고, 이 문제는 한글 문제라고 하기엔 조금....!
  • 지훈현서아빠 2011/05/04 19:28 #

    아하! 그렇게 쉬운 방법이 있었나요???
    감사합니다 ^^
댓글 입력 영역

구글애드텍스트