2012-03-19 15 views
5

TFS ha la strana abitudine di mescolare il caso nelle cartelle. Ad esempio, alcuni sviluppatori potrebbero effettuare il check-in $/FooBar/readme.txt mentre altri potrebbero effettuare il check-in $/Foobar/readme.txt.Sensibilità al caso di controllo della sorgente TFS

Esiste comunque un modo per forzare TFS a trattare file/cartelle come maiuscole e minuscole?

Ad esempio, se esiste già una cartella $/FooBar/, quando qualcuno aggiunge $/foobar/readme2.txt, l'alloggiamento della cartella verrà aggiornato in $/FooBar/readme2.txt poiché esiste già.

Per la maggior parte gli utenti non noteranno questo, ma internamente nel database TFS, ciò può causare confusione in altri strumenti (come git-tfs).

+2

Che tipo di problemi causa questo in git-tfs? –

+0

Riceverai voci duplicate dello stesso file in Git. 'git ls-tree master' mostrerebbe sia' FooBar/readme.txt' che 'Foobar/readme.txt'. Questo fa sì che git pensi sempre che qualcosa sia cambiato, quando non lo è stato. – syvex

+0

Questo sembra essere il problema del bug tracker nel GIT-TFS che tiene traccia di questo problema: https://github.com/git-tfs/git-tfs/issues/104 – jessehouwing

risposta

6

Sfortunatamente una volta che una cartella è stata archiviata, il suo caso rimane persistente in TFS.

La soluzione è rename:

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

Fonte: http://kb.teamprise.com/article/view/52

+0

E questo funziona, ma è un po 'strano mod. Speravo in un modo per evitare che accada in primo luogo. – syvex

3

C'è un check-in policy fornito con gli strumenti server Power Team Foundation, che vi permetterà di specificare i modelli regex per consentire o non consentire. Potresti essere in grado di accartocciare qualcosa insieme a quello.

È possibile trovare la politica di check-in su Visual Studio Power tools site.

Un tutorial su come specificare i pattern per questo strumento can be found here.

Inoltre, TFS considera i file e le directory come maiuscole e minuscole in TFS 11 e in avanti, Martin Woodward demonstrated this in his presentation on the ALM Summit lo scorso novembre, ma come in Windows non ha importanza, non si lamenterà se si è su un host Windows. Se stai usando Team Foundation Everywhere, vedrai che su un file system Linux viene mantenuta la distinzione tra maiuscole e minuscole. È una cosa della piattaforma ..

Problemi correlati