TFS源代码控制大小写敏感性

7
TFS有一个有趣的习惯,会在文件夹中混合大小写。例如,一些开发人员可能会检入$/FooBar/readme.txt,而其他人可能会检入$/Foobar/readme.txt
有没有办法强制TFS将文件/文件夹区分大小写?
例如,如果文件夹$/FooBar/已经存在,当有人添加$/foobar/readme2.txt时,文件夹的大小写将被更新为$/FooBar/readme2.txt,因为已经存在。
大多数用户不会注意到这一点,但在TFS数据库内部,这可能会导致其他工具(如git-tfs)产生混淆。

3
这在git-tfs中会引起什么问题? - Edward Thomson
在Git中,您将获得相同文件的重复条目。 git ls-tree master 将显示 FooBar/readme.txtFoobar/readme.txt。这会导致Git始终认为有些东西已更改,而实际上并没有。 - syvex
这似乎是GIT-TFS中的错误跟踪问题,跟踪此问题的链接为:https://github.com/git-tfs/git-tfs/issues/104 - jessehouwing
2个回答

6

很遗憾,一旦文件夹被检入,它的大小写在TFS中将保持不变。

解决方法是 重命名:

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

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


1
这确实可以工作,但这是一种奇怪的hack。我希望有一种方法可以在一开始就防止它发生。 - syvex

3

Team Foundation Server Power tools带有签入策略,允许您指定正则表达式模式以允许或禁止。您可以使用此工具拼凑出一些东西。

您可以在Visual Studio Power tools site上找到签入策略。

关于如何为此工具指定模式的教程可以在此处找到

此外,在TFS 11及更高版本中,TFS将文件和目录视为区分大小写,Martin Woodward在ALM峰会上的演示中证明了这一点,但与Windows一样,它不会抱怨,如果您在Windows主机上,则无所谓。如果您正在使用Team Foundation Everywhere,则会发现在Linux文件系统上保留了大小写敏感性。这是一个平台问题..


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接