2009-02-27 3 views
11

SVN이 대소 문자를 구분하지 않도록 할 방법이 있습니까? 우리는 파일 환경이 "file.ext"와 "File.ext"인 리눅스 환경에서 커밋하는 문제가 있습니다. 잘 작동합니다. 그러나 문제는 MAC OSX 또는 Windows의 사용자가 업데이트/체크 아웃을 시도 할 때입니다. 두 파일은 동일하게 간주되며 오류로 인해 작업이 실패합니다.SVN에서 대소 문자를 구분할 수 있습니까?

SVN이 "File.ext"와 "file.ext"의 커밋을 막는 방법이 있습니까?

This question은 비슷하지만 Windows 측에서 동일한 문제가 발생하지만 여기서는 문제가되지 않습니다.

+0

같은 디렉토리에 두 개의 파일이있는 경우는 혼란을 일으킬 수 있습니다. 사용자가 그렇게하지 말라고 할 수 있습니까? –

+0

+1 Subversion이 대소 문자를 무시하도록 강요합니다. 어쨌든 대소 문자를 구분해서는 안됩니다. –

답변

11

this one과 같은 사전 커밋 (pre-commit) 후크를 시도 할 수 있습니다 (그러나 직접 시도하지 않았습니다).

나는 사용자가주의를 기울이는 것이 이미 배제되어 있다고 가정합니다. 나는 항상 리눅스에서 일하지만 일반적으로 파일 이름은 대소 문자를 구별하지 않는다고 생각한다. 이자형. 에 이르기까지, 운영 체제가 어떤 생각을 하든지 상관없이 동일합니다.

+0

아, 감사합니다. 그래, 우리는 조심하고 있지만, 이것을 방지하기위한 어떤 조치라도 확실히 도움이 될 것입니다. – ccook

+1

+1 for commit hooks – abe

0

나는 당신이 일을 잘못보고 있다고 말하고 싶습니다. 가장 좋은 해결책은 파일을 대소 문자를 구분하여 유지하는 것입니다. 사용자가 Linux 나 Solaris에서 체크 아웃하면 프로젝트를 사용할 수 없게됩니다.

또한 대소 문자를 구분하는 일부 언어 컴파일러를 고려해 볼 때 자바 컴파일러는 파일 이름에 대해 불평 할 것입니다. 다른 언어도 마찬가지입니다.

또 다른 문제는 배치입니다. * NIX 시스템에 배치하면 어떻게됩니까? 그럼 곤경에 빠졌어!

+1

문제는 단지 두 개의 파일이 대/소문자가 다른 경우 Mac 또는 Windows 컴퓨터에서 작동하지 않는다는 것입니다. 나는 당신이 더 많은 신청서 (F90)를 추천하고 있다고 생각합니까? 적절한 이름으로 이름을 언급해야한다는 것에 동의합니다. – ccook

0

나는 기술적 인 문제가 실제로 Mac의 & 윈도우 쪽, 즉 파일 시스템이 대소 문자를 구분하지 않는다고 생각합니다. 최소한 Mac에서는 파일 시스템을 대소 문자를 구분하는 HFS + 형식으로 다시 포맷 할 수 있습니다. 나는 Windows 사용자가 아니지만 Windows의 기본 파일 시스템에 비슷한 옵션이있을 수 있습니다 (여전히 NTFS입니까?).

개발자 환경에서 대소 문자를 구분하는 파일 시스템으로 포맷하도록 강제하지 않는 경우 중복 옵션 (대소 문자를 구분하지 않는 비교, 분명히 구분하지 않음)을 확인하는 사전 커밋 훅이 유일한 옵션이라고 생각합니다.) 파일 이름을 같은 디렉토리에 동일한 이름과 대소 문자를 가진 파일을 사용하지 않도록 수정하려면 또는 같은 이름의 파일 이름을 사용하십시오.

+0

나는이 질문의 다른 버전에 대한 응답을 올렸습니다. 지금은 찾을 수 없지만 기본적으로 Windows에서 SVN을 컴파일하는 방법을 보여 주므로 이름은 대소 문자를 구분합니다. NT4가 POSIX 적합성 테스트를 통과 한 이래서 여기에 도달하기가 까다 롭습니다. – Joshua

+4

정말 기술적 인 문제인지는 모르겠지만 기능이라고 생각합니다 (그리고 나는 리눅스 사용자입니다). 인간에게는 대문자 나 소문자의 같은 단어가 같은 의미를 가지므로 OS는이를 이해해야합니다. –

관련 문제