BLOG main image

분류 전체보기 (321)
free (36)
영화 (85)
드라마 (21)
게임 (28)
만화/책 (34)
개발 (46)
IT (68)
연예 (3)
Visitors up to today!
Today hit, Yesterday hit
TETRIS
rss
2014. 2. 12. 12:14

큰 맘 먹고 svn 에 있던 프로젝트들을 git 으로 모두 이전했다.


새로 받은 cocos2dx 프로젝트들을 빌드하려고 하니까, 오류가 아래와 같은 오류가 발생.



딱 보기에도 sh 스크립트의 개행 문자에 문제가 발생했음을 알 수 있다.


파일을 Notepad++ 에서 열어보니 Dos/Windows format 으로 되어 있어서 Unix 로 변경 후 실행하니 잘 된다.


그런데 문제는 모든 프로젝트가 이런 현상이 발생한다는 것.


원인은 git 에 있는데, git 의 autocrlf 가 기본이 true 로 되어 있어서, 

모든 텍스트 파일이 Windows 환경에서 받아올 때 Windows 형식으로 받는다는 것. 


.sh 파일을 Unix 형식으로 저장해도 git 에서는 파일이 변경되었다고 판단하지 않는다.

(개행 문자가 다른 것은 소스의 변경으로 처리하지 않는 듯)


그렇다고 억지로 뭔가 파일에 변경을 줘서 commit & push 해봤자 소용 없다. 

또 다시 Windows 형식으로 받아올테니까.


그래서, Windows/Unix 파일 형태를 동시에 사용해야 한다면 autocrlf 를 false 로 설정하는 것이 낫다.

git config --global core.autocrlf false


물론, global 설정을 바꾸지 않고, 프로젝트 단위로 바꿀 수도 있다.

내 경우에는 git 에 올라가 있는 프로젝트 중 cocos2dx 관련된 것이 절반이 넘어서 아예 global 로 설정.


그리고, 기본적으로 파일 포맷은 그냥 내가 직접 관리하고 싶기도 함.