맥 svn 한글 파일명 및 한글 폴더명 오류 수정

Posted by limslee
2015. 7. 16. 20:57 개발/개발환경설정

    맥의 경우 한글 파일명 및 폴더명의 인코딩 방식이 윈도우와 다르다. 이것 때문에 맥의 기본 압축 프로그램으로 윈도우에서 압축한 압축파일을 풀 때 한글 파일이나 폴더의 이름이 깨진다. 반대의 경우도 마찬가지이며 이 이유 때문에 맥에서는 한글 인코딩을 지원하는 압축 프로그램(CleanArchiver, WinArchiver, The Unarchiver, Bandizip X 등)을 찾아서 사용해야 한다.

    svn의 경우도 마찬가지 인데 맥에서만 한글 파일을 add 하고 사용하면 문제가 되지 않지만 윈도우에서 add한 한글 파일명을 맥에서 인식하지 못하고 별도의 파일로 취급하게 된다. 이 문제를 해결하기 위해서는 Homebrew 를 통해 한글 인코딩 문제가 해결된 "특정 버전의 svn 패키지" 를 설치해야 한다. (Homebrew 설치법은 하단의 트랙백 참조)


우선 brew tap 명령어를 통해 특정 버전을 설치할 수 있는 tap 인 homebrew/versions 먼저 설치한다.

brew tap homebrew/versions




Homebrew 설치된 폴더를 보면 Taps 란 폴더 밑에 homebrew/homebrew-versions 란 폴더가 추가 되어 있다.




그 후 subversion 패키지를 search 해 보면

brew search subversion


subversion 뿐만 아니라 homebrew/versions/subversion16, homebrew/versions/subversion17 두 패키지가 추가로 나타나게 된다.

이중 subversion17 패키지의 설치 옵션을 확인해 보면

brew options subversion17



맥의 인코딩 문제를 해결할 수 있는 설치 옵션이 준비되어 있다.



brew install subversion17 --with-unicode-path

위 명령어를 통해 설치하고 나서 svn 버전을 확인하면 기존의 1.7.19에서 1.7.14로 변경된 것을 알 수 있다.

(Homebrew로 subversion 을 설치하기 전에 jdk 가 먼저 설치되어 있어야 한다.)



참고로 맥의 PATH설정이 /usr/local/bin 이 /usr/bin 보다 앞에 있기 때문에 기존의 svn을 지우거나 백업해 두지 않아도 Homebrew로 받은 버전으로 동작하게 된다.


기존 맥에 설치된 버전과 Homebrew 로 설치한 패키지를 svn status 명령어를 통해 비교해 보면



기존 버전의 경우 같은 윈도우에서 add한 한글파일들을 최초에 checkout 받고 아무것도 변경하지 않았지만 맥에서 확인하면 단말 시스템 개발 환경 설정.docx 라는 파일이 버전관리 되지 않고 있는 파일이라는 ? 표시가 되어 있고 또 똑같은 파일명으로 ! 표시가 되어 svn 서버에서 update 해서 내려받지 않은 파일이 존재한다고 나온다.


하지만 Homebrew를 통해 새로 받은 패키지의 경우



깔끔하게 변경사항 없음으로 아무것도 표시되지 않는다.



다른 svn 클라이언트(많이 쓸걸로 예상되는 svnX)에서도 기존 svn의 경우에도



기존 버전의 경우 위와 같이 다른 파일로 인식하나

옵션설정을 통해 svn 폴더를 변경해 주면



역시나 제대로 동작한다.


추가적으로 svn 명령어 옵션의 자동완성 기능을 추가 하기 위해서는 .profile에 다음 내용을 추가한다.

source `brew --prefix`/etc/bash_completion.d/subversion




'개발 > 개발환경설정' 카테고리의 다른 글

Xcode 커멘드라인툴 설치  (0) 2015.09.25
svnx relocate 방법  (0) 2015.09.14
맥 bash 버전 업데이트 하기  (0) 2015.07.16
맥 Homebrew 설치하기  (0) 2015.07.16
맥 터미널 몇가지 설정  (0) 2015.07.16