다음 파일의 줄 끝에 일관성이 없습니다. 줄 끝을 정규화시키시겠습니까?
할일 없이 소스분석을 하던 도중 이런 메시지가 뜬다.
순간 뭐지.... 이생각이 제일 먼저 들었다.
예를 눌러야되나 아니오를 눌러야되나... 일단 예를 눌러보았다.
뭐 바뀌는건 없는 것같은데... 혹시 몰라서 SVN 상태를 보니 뭔가 바뀌었단다!
그래서 커밋되어있는 소스와 비교하려는데
잉?????????????????????????
텍스트는 같은데 바이너리가 다르다고????????????
일단 진정하고 정규화 warning 메시지부터 찾아보도록 하자
Error Message: The line endings in the following file are not consistent.
Cause:
This dialog box is not from SourceAnywhere Standalone. It is a Visual Studio warning. It occurs when the file you are loading contains a mix of Windows standard and non-standard line-endings.
Resolution:
You can ignore EndOfLine by disabling the Check for consistent line endings on loadoption in the Documents page (VS 2008 Tools->Options->Environment->Documents).
에러메시지에 대한 원인과 해결책을 나타내주고 있다.
해결 방법은 일단
도구 -> 옵션 -> 문서탭
로드할 때 줄 끝 일관성 검사 를 해제하면 된다고는 한다. 해제하니 다음 로드할때는 나타나지 않는다.
여기서 끝! 하면 너무 쉬워서
windows(CR LF) 에 대해서 검색해보았다.
새줄문자(줄바꿈문자 개행문자 등등 여러가지로 표현 되는 것 같다.)
CR : 캐리지 리턴(carriage return, CR, '\r', 0x0D) - 프린터에서 실제 인쇄를 수행하는 장치가 한 줄의 끝에서 시작 위치로 돌아가는 것을 뜻함.
LF : 라인피드 (line feed, LF, '\n', '0x0A') - 프린터에서 종이가 한 줄씩 인쇄되며 나오는 것을 뜻함.
ACSⅡ 시스템에서 새줄문자로 사용하였다고 한다.
ACSⅡ의 새줄문자 |
|
LF |
멀틱스, 유닉스, 리눅스, 제닉스, AIX, OS X, FreeBSD |
CR + LF |
DEC TOPS-10, CP/M, MP/M, 도스, OS/2, 윈도, 심비안 OS, 팜 OS |
CR |
콤모도어 8비트 머신, TRS-80, 애플 Ⅱ, 맥 OS(버전 9이하), OS-9 |
RS |
POSIX 이전의 QNX |
출처 : 위키피디아
http://ko.wikipedia.org/wiki/%EC%83%88%EC%A4%84_%EB%AC%B8%EC%9E%90
아마도 전임자 분께서 다른 운영체제에서 해당 소스파일을 개발하셨거나 중간에 누군가가 다른 운영체제에서 편집하고 커밋해놓은 것 같다.
스택오버플로우(http://stackoverflow.com/questions/5665217/do-i-want-normalized-line-endings)를 보니 정규화 다이얼로그 박스가 나올 경우 대부분의 정답은 "YES"를 누르는게 맞다고 하니 정규화 시키는게 좋다는 것 같다.