2012-03-19 1 views
5

TFS는 대소 문자를 폴더에 섞어 놓는 재미있는 버릇이 있습니다. 예를 들어, 일부 개발자는 $/FooBar/readme.txt을 체크인 할 수 있으며 다른 개발자는 $/Foobar/readme.txt을 체크인 할 수 있습니다.TFS 소스 제어 대/소문자 구분

TFS에서 파일/폴더를 대소 문자를 구분하여 처리하도록 강제 할 수 있습니까?

예를 들어 $/FooBar/ 폴더가 이미있는 경우 누군가가 $/foobar/readme2.txt을 추가하면 폴더 케싱은 이미 존재하므로 $/FooBar/readme2.txt로 업데이트됩니다.

대부분 사용자가이를 알지 못하지만 내부적으로 TFS 데이터베이스에서 다른 도구 (예 : git-tfs)와 혼동을 일으킬 수 있습니다.

+2

이것은 git-tfs에서 어떤 문제가 발생합니까? –

+0

Git에서 동일한 파일의 중복 된 항목을 가져옵니다. 'git ls-tree master'는'FooBar/readme.txt'와'Foobar/readme.txt'를 모두 보여줍니다. 이로 인해 git는 항상 무언가가 변경되었다고 생각하게됩니다. – syvex

+0

이것은 GIT-TFS에서이 문제를 추적하는 버그 추적기 문제 인 것 같습니다 : https://github.com/git-tfs/git-tfs/issues/104 – jessehouwing

답변

6

불행히도 폴더가 체크인 된 경우 TFS에서 계속 유지됩니다.

해결 방법은 rename이다 :

tf rename $Project//FooBar $/Project/foobar/ 

출처 : http://kb.teamprise.com/article/view/52

+0

그리고 이것은 작동하지만 이상한 모양입니다 마구 자르기. 나는 그것이 처음부터 일어나는 것을 막을 수있는 방법을 기대하고 있었다. – syvex

3

가 체크 인 정책 당신이 정규식 패턴을 지정 할 수 있습니다 팀 파운데이션 서버 전원 도구와 함께 제공 허용하거나 금지합니다. 당신은 그것과 함께 무엇인가 자갈을 댈 수있을 것입니다.

Visual Studio Power tools site에서 체크인 정책을 찾을 수 있습니다.

이 도구의 패턴을 지정하는 방법에 대한 자습서 can be found here.

TFS는 TFS 11에서 파일 및 디렉토리를 대소 문자를 구분하여 처리합니다. Martin Woodward demonstrated this in his presentation on the ALM Summit 지난 11 월이지만 Windows에서는 문제가되지 않으므로 Windows 호스트에있는 경우 불평하지 않습니다. Team Foundation Everywhere를 사용하는 경우 Linux 파일 시스템의 경우 민감도가 유지된다는 것을 알 수 있습니다. 그것은 플랫폼 일이에요.