SVN 작업 중에 모든 줄 끝을 CRLF, LF 또는 CR로 변환하려면 어떻게 해야 합니까?

StackOverflow https://stackoverflow.com/questions/15687

  •  08-06-2019
  •  | 
  •  

문제

따라서 여러분은 모두 대규모 SVN 커밋을 수행할 준비가 되어 있으며 일부 파일에 일관되지 않은 줄 끝이 있기 때문에 폭탄이 터집니다.재미있는 부분은 다양한 깊이의 수십 개의 폴더에 걸쳐 있는 1,000개의 파일을 보고 있다는 것입니다.

너 뭐하니?

도움이 되었습니까?

해결책

나는 생각하지 않는다 사전 커밋 후크는 실제로 커밋되는 데이터를 변경할 수 있습니다. 커밋을 허용하지 않을 수 있지만 변환을 수행할 수는 없을 것 같습니다.

당신이 원하는 것 같네요 재산 'svn:eol-style'을 'native'로 설정 - 이것은 자동으로 줄바꿈을 플랫폼에서 사용되는 모든 것으로 변환합니다(OS가 원하는 것과 상관없이 이를 얻으려면 'CRLF', 'CR' 또는 'LF'를 사용하십시오).

당신이 사용할 수있는 자동 속성 그러면 앞으로 생성하는 모든 파일에 이 속성이 설정됩니다(자동 속성은 클라이언트 측에서 처리되므로 각 사용자에 대해 이를 설정해야 합니다).

다른 팁

첫 번째는 모든 것을 청소하는 것입니다.Windows 또는 Unix/Linux/Mac을 사용 중이신가요?

Unix/Linux/Mac을 사용하는 경우 다음과 같이 시도해 볼 수 있습니다.

$ find . -type f -name "*.java" -exec dos2unix {}\;

당신이 가지고 있는 경우입니다 dos2unix 당신의 상자에.내 Mac이나 우리가 가지고 있는 6개의 Linux 컴퓨터에는 없습니다.이 특정 패키지를 설치하지 않은 것 같습니다.다행히도 쉽게 찾을 수 있습니다.

바이너리 파일을 삭제하고 싶지 않으므로 주의해서 사용하세요.

모두 청소한 후에는 다음과 같이 넣어야 합니다. svn:eol-style 파일의 속성입니다.다음으로 설정 토종의 컴퓨터에 맞는 올바른 줄 끝으로 파일을 체크아웃하지만 Unix 줄 끝 형식으로 저장합니다.다른 세 가지 옵션은 Unix의 경우 "LF", Windows의 경우 "CRLF", Mac OS X 이전 Mac의 경우 "CR"입니다.대부분의 사람들은 "네이티브"가 가장 좋다고 생각합니다.Native의 유일한 문제점은 "LF"와 "CRLF"가 혼합된 줄 끝이 있는 파일을 체크인하지 않는다는 것입니다.

일단 그렇게 하면, 사전 커밋 후크 그러면 특정 파일에 줄 끝을 적용할 수 있습니다.그런 다음 개발자에게 자동 속성.사전 커밋 후크는 속성이 파일에 배치되지 않는 한 모든 커밋을 방지합니다. 개발자는 커밋을 한두 번 거부하고 자동 속성을 스스로 설정합니다.

을 추가하다 사전 커밋 후크 이는 파일 내용을 구문 분석하고 SVN에 기록되기 전에 CRLF/LF/CR/etc를 통합하는 작업을 수행합니다.

Linux와 같은 명령을 사용하는 것을 고려할 수 있습니다. 도스2유닉스 전환을 위해.Linux 명령이기 때문에 스크립트 등을 사용하여 배치 모드로 사용하기 쉽습니다.다른 운영 체제에 해당하는 것이 있는지는 모르겠습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top