2008-09-07 3 views
7

나는이 유형의 스크립트를 작성한 경험이있는 사람이 있는지, 그리고 어떤 조언을 해줄 지 궁금합니다.체크인 된 파일의 유효성을 검사하기 위해 dos2unix를 호출하는 SVN에 미리 커밋 (commit) 훅 스크립트를 구현하는 방법

script을 수정하여 체크인 파일에 EOL 형식의 캐리지 리턴이 없음을 확인하고 싶습니다. EOL 형식은 Windows에서는 CR LF이고 Unix에서는 LF입니다. 사용자가 Windows 형식으로 코드를 체크인 할 때 더 이상 유닉스에서는 컴파일되지 않는다. 이 작업은 클라이언트 측에서 수행 할 수 있지만이 유효성 검사는 서버 측에서 수행해야합니다. 이를 수행하려면 다음을 수행해야합니다.

1) 확인하는 파일이 바이너리가 아닌지 확인하십시오. svnlook에서이 작업을 수행하는 방법을 모릅니다. mime : 파일의 유형을 확인해야합니까? Red Book은이 사실을 분명하게 나타내지 않거나 본적이 없어야합니다.

2) 파일에 올바른 EOL 형식이 맞는지 확인하기 위해 dos2unix 명령을 실행하고 싶습니다. dos2unix 명령의 출력을 원본 파일과 비교할 것입니다. 둘 사이에 차이점이있는 경우 클라이언트에 오류 메시지를 보내고 체크인을 취소합니다.

이 접근에 대한 의견이나 피드백을 보내주십시오.

답변

4

나는 당신이 SVNBook에 설명 된대로 svn:eol-style 속성을 사용하여이 경우 커밋 후크 스크립트를 피할 수 있다고 생각 SVN은 라인 엔딩에 대해 걱정할 수 있습니다.

행운을 빈다.

+0

감사합니다. Stephen, pre-commit 후크를 사용하는 대신 모든 소스 파일에 svn : eol-style 속성을 구현했습니다. –

+0

무엇을 설정 했습니까? 'native' 또는'LF'? svn : eol-style이 설정되지 않은 경우 기본 설정은 무엇입니까? – EoghanM

1

정확히 무엇을하려합니까?

은 물론, SVN 사전 커밋 후크에 대해 배울 수있는 다양한 장소 (예를 들어 here, hereRed Book에)있다 그러나 당신이 뭘하려고 무엇을 당신의 시스템에서 사용할 수있는 무슨 따라 달라집니다.

좀 더 구체적으로 기재 할 수 있습니까?

이 방법 :

관련 문제