2011-12-20 4 views
4

우리는 Werver 2008 컴퓨터에서만 Windows 컴퓨터와 호스트 MSysGit을 개발 중입니다. 우리는 문제 추적/프로젝트 관리 시스템으로 Redmine (BitNami Redmine Stack)을 사용합니다.Windows Git 저장소에서 대소 문자를 구분하는 방법

우리는 Git과 개발 기계에서 아무런 문제가 없지만 대소 문자가 문제가되는 것처럼 Redmine에 저장소가 표시되는 방식에 문제가 있습니다.

레드 마인 저장소는 "중복"표시하고

(물론 정확하게 중복되지 않음) 나무가 아래, 아마 일부 파일이 동안

+-Develop 
| | 
| +-Library ..... 
| | 
| +-AutomatedTests ..... 
| 
+-develop 
    | 
    +-library ..... 

(나에게 알 수없는 어떤 이유로) 소문자 경로에 최선을 다하고되고 인해 생명을 위협하는 복제품이 아니며 Windows 체크 아웃에는이 문제가 없으며 Redmine에서 코드를 탐색하는 것은 다소 짜증이납니다.

(매우 큰 저장소라고 생각하면 쉽게) 중 하나입니까? a) 트리를 표시하는 동안 redmine case를 비 감각적으로 만듭니다. 또는 B)는 소문자 경로 (우리는 낙타의 경우 표준화)

답변

2

당신이 .git/config에서 ignorecase = true를 추가 해봤의 문제를 해결?

+0

이미 true로 설정되어 있습니다. Redmine이 표시 될 수 있다고 생각합니다. git changesets를 가져오고이를 기반으로 MySql 테이블을 채 웁니다. 아마 Redmine/MySql이 경로를 다른 것으로 보는 것입니다. Windows는 실용적이지 않습니다. 그래서 제 질문은 정말로 Redmine에게 할 일입니까, 아니면 GIT에서 파일 이름 바꾸기를 시작합니까? –

+0

git config에서 ignorecase는 파일을 diffing 할 때 대소 문자를 비교합니다. –

+0

@RobertChrist 사실, ignorecase는 git이 파일 이름 대소 문자 변경을 볼 수있게합니다. 방금 몇 분 전에 확인 했어. 그러나 Windows 탐색기에서 이름을 바꾸는 경우 문제를 해결하기에 충분하지 않습니다. (단지 새로운 파일을 볼 수있게함으로써, 간단한 이름 변경/대소 문자 변경으로 인식하는 대신 repo에서 두 가지 버전으로 이어진다.) – Venryx

0

Redmine은 다른 장소로 보게됩니다. 대소 문자를 무시 했어도 디렉토리로 이동하고 파일을 지정할 때 항상 탭 완성됩니다. 케이싱을 고정하려면 git filter-branch을 사용하십시오. 이것은 모든 참조가 가리키는 곳으로 바뀌지 만이 시점에서해야 할 일이 될 수 있습니다.

+0

우리는 tortoise git 클라이언트와 smartGit 클라이언트를 사용하며, 명령 행에만 의존한다. 필요한, 그리고 자식 - 탭 완성을 사용하지 않으므로 어떤 이점이 있는지 확실하지 않습니다. –

+0

일관된 이름 지정을하고 탭을 완성하면 중복되지 않는 것이 이점입니다. –

+0

불행하게도 나는 우리 팀을 위해 그것을 시행 할 수 없다. 또한 모든 파일 기록을 유지해야하며 이름 변경을 통해 기록을 따르기 위해 로그에 다음을 요구하지 않아야합니다. (이상적으로는 이상적입니다. 그렇지 않으면 붉은 색 표시에 패치를 적용 할 수 있습니다) –

관련 문제