【问题标题】:TFS source control case sensitivityTFS 源代码控制区分大小写
【发布时间】:2012-04-04 07:26:04
【问题描述】:

TFS 有一个有趣的习惯,即在文件夹中混淆大小写。例如,一些开发人员可能会签入$/FooBar/readme.txt,而其他开发人员可能会签入$/Foobar/readme.txt。

是否强制 TFS 将文件/文件夹视为区分大小写?

例如,如果文件夹$/FooBar/已经存在,当有人添加$/foobar/readme2.txt时,文件夹大小写将更新为$/FooBar/readme2.txt,因为它已经存在。

在大多数情况下,用户不会注意到这一点,但在 TFS 数据库内部,这可能会在其他工具中引起混淆(例如 git-tfs)。

【问题讨论】:

  • 这会在 git-tfs 中造成什么样的问题?
  • 您将在 Git 中获得相同文件的重复条目。 git ls-tree master 将同时显示 FooBar/readme.txt 和 Foobar/readme.txt。这会导致 git 总是认为某些事情发生了变化,而实际上并没有发生变化。
  • 这似乎是跟踪此问题的 GIT-TFS 中的错误跟踪器问题:github.com/git-tfs/git-tfs/issues/104

标签: tfs git-tfs


【解决方案1】:

不幸的是,一旦一个文件夹被签入,它的大小写在 TFS 中仍然存在。

解决方法是rename:

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

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

【讨论】:

  • 这确实有效,但它有点奇怪。我希望找到一种方法来防止它首先发生。
【解决方案2】:

Team Foundation Server Power 工具附带了一个签入策略,它允许您指定正则表达式模式以允许或禁止。你也许可以用它来拼凑一些东西。

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

关于如何为此工具can be found here指定模式的教程。

此外,TFS 确实在 TFS 11 及更高版本中将文件和目录视为区分大小写,Martin Woodward demonstrated this in his presentation on the ALM Summit 去年 11 月,但在 Windows 中没关系,如果您在 Windows 主机上,它不会抱怨.如果您使用 Team Foundation Everywhere,您会看到在 linux 文件系统上保留了区分大小写的功能。这是一个平台的东西..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-17
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    相关资源
    最近更新 更多