2012-03-19 67 views
5

TFS有一個混合文件夾大小寫的有趣習慣。例如,一些開發者可能會檢查$/FooBar/readme.txt,而其他人可能會檢查$/Foobar/readme.txtTFS源代碼管理大小寫敏感

無論如何強迫TFS將文件/文件夾視爲區分大小寫?

例如,如果一個文件夾$/FooBar/已經存在,當有人將$/foobar/readme2.txt,文件夾套管將被更新爲$/FooBar的/ readme2.txt自認爲已經存在。

大部分用戶不會注意到這一點,但在內部在TFS數據庫中,這可能會導致其他工具(如git-tfs)混淆。

+2

在git-tfs中導致了什麼樣的問題? – 2012-03-19 20:32:57

+0

您將在Git中獲取同一文件的重複條目。 'git ls-tree master'會顯示'FooBar/readme.txt'和'Foobar/readme.txt'。這導致git總是認爲某些東西已經發生了變化,而沒有發生變化。 – syvex 2012-03-20 16:04:19

+0

這似乎是跟蹤此問題的GIT-TFS中的錯誤跟蹤程序問題:https://github.com/git-tfs/git-tfs/issues/104 – jessehouwing 2012-03-20 16:19:43

回答

6

不幸的是,一旦文件夾已經簽入,它的大小寫在TFS中仍然保留。

的解決方法是rename

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

來源: http://kb.teamprise.com/article/view/52

+0

這確實有用,但它有點怪異黑客攻擊。我希望有一種方法來防止它首先發生。 – syvex 2012-03-20 13:53:28

3

有一個簽入策略附帶的Team Foundation Server的電動工具,這將允許您指定正則表達式模式允許或禁止。你可能可以用它來拼湊一些東西。

您可以在Visual Studio Power tools site找到登記入住政策。

有關如何指定此工具的模式can be found here的教程。另外,TFS在去年11月將TFS 11和Forward,Martin Woodward demonstrated this in his presentation on the ALM Summit中的文件和目錄視爲區分大小寫,但在Windows中無關緊要,如果您位於Windows主機上,則不會發生抱怨。如果您使用Team Foundation Everywhere,您會看到在Linux文件系統上區分大小寫是保留的。這是一個平臺的事情..