Как да коригирате чувствителността към малки и главни букви в хранилището на Windows Git

Ние разработваме изключително на машини с Windows и хостваме MSysGit на машина Werver 2008. Използваме Redmine (BitNami Redmine Stack) като система за проследяване на проблеми/управление на проекти.

Въпреки че нямаме никакъв проблем с Git и машините за разработка, ние ИМАМЕ проблем с начина, по който хранилището се показва в Redmine, поради това, което изглежда като проблеми с чувствителността към главни и малки букви.

Хранилището на Redmine показва „дубликати“ (добре не дублиращи се точно) дървета, както е показано по-долу, вероятно поради някои файлове, които са записани с пътеки с малки букви (по някаква неизвестна за мен причина)

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

Въпреки че това не е животозастрашаващо като клонинги и плащанията към Windows нямат този проблем, това е доста досадно за сърфиране в код в Redmine.

Има ли (лесен, като се има предвид, че това е много голямо хранилище) начин да а) направите redmine нечувствителен към главни букви, докато показва дървото. или б) коригиране на проблема с малките букви (ние стандартизираме Camel case)


person d sharpe    schedule 20.12.2011    source източник


Отговори (2)


Опитахте ли да добавите ignorecase = true в .git/config?

person zoran119    schedule 20.12.2011
comment
това вече е зададено true, мисля, че може да се дължи на това, че Redmine се показва по този начин, знам, че изтегля git changesets и попълва MySql таблици въз основа на тях. Така че може би това се дължи на това, че Redmine/MySql вижда пътищата като различни, където Windows няма, така че въпросът ми наистина е да направя ли нещо с Redmine или да започна да преименувам файловете в GIT? - person d sharpe; 21.12.2011
comment
ignorecase в git config е за сравнения на главни и малки букви при разлики на файлове - person Robert Christ; 16.05.2014
comment
@RobertChrist Всъщност ignorecase прави git способен да вижда промените в главните букви на името на файла. Току-що потвърдих това преди няколко минути. Това обаче не е достатъчно за решаване на проблема, ако правите преименувания в Windows Explorer. (тъй като го кара да вижда само новия файл, като по този начин води до две версии в репото, вместо да го разпознае като просто преименуване/промяна на регистъра) - person Venryx; 07.04.2017

Redmine ще ги види като различни места. Въпреки че сте включили игнориране на главни и малки букви, винаги попълвайте табулатор, когато влизате в директории и посочвате файлове. Използвайте git filter-branch, за да фиксирате корпуса. Това ще промени накъде сочат всички препратки, но може да е добре да се направи на този етап.

person Adam Dymitruk    schedule 20.12.2011
comment
използваме git клиент на костенурка и клиенти на smartGit и прибягваме до командния ред само когато е необходимо и никога не сме използвали git tab-completion, така че не съм сигурен каква е ползата от това. - person d sharpe; 22.12.2011
comment
Ползата би била, че ще имате последователно наименуване и няма да имате дублиране, ако разделите завършите. - person Adam Dymitruk; 22.12.2011
comment
За съжаление не мога да наложа това на нашия екип за разработчици. Също така трябва да запазим цялата хронология на файловете и да не изискваме --follow в дневника, за да следваме хронологията чрез преименувания (добре, това е всичко в идеалния свят, в противен случай може да погледна да коригирам дисплея на redmine) - person d sharpe; 22.12.2011