TFS - 如果正在签入另一个文件,则执行某个文件的签出+签到

时间:2011-11-09 14:50:13

标签: c# tfs xsd tf-cli

我有一些XSD的文件,我使用MS中的XSD.exe实用程序生成类。

我使用预构建来签出生成的代码类文件和要检入的帖子。

由于有几个开发人员在同一个项目上工作,并且每次每个人决定重建时都会发生这种情况,我们不断发生冲突,这不是真正的冲突(仅仅是由于xsd工具版本略有不同而导致生成的cs文件的标题)。

要解决这个问题,我想先将XSD的内容与源服务器进行比较,然后再执行结账+签到操作。

有没有办法使用TFS做到这一点?

注意:我尝试在tf.exe中使用diff命令,但它没有返回退出代码,我可以使用它来了解比较的结果。

非常感谢任何帮助......

2 个答案:

答案 0 :(得分:0)

您可以使用tf.exe并对XSD文件执行get命令,如果它返回“所有文件都是最新的”,您就知道您不必执行签出/ gen / check in processing

答案 1 :(得分:0)

我的建议是解决问题的原因而不是症状。

在开发时,您应该尝试让您的开发人员和构建服务器都使用完全相同的工具和源代码运行,因此您知道您将获得一致的结果。您不能保证两个不同版本的工具的输出始终相同/兼容。简单的不匹配版本号是没有问题的,但是如果你生成的最终程序根据谁构建它会有细微差别怎么办?弗雷德可能永远无法重复并修复客户抱怨的错误。或者你可能认为你已经修补了那个主要的ATL安全漏洞,直到有一天你意识到你已经从你没有打扰补丁的构建服务器上发货了。

这是一个非常简单的事情,有一个标准化的安装过程(每个人都仔细遵循的“如何安装”文档,一个包含正确DVD集的框,和/或包含该组的网络文件夹或源控制文件夹)要使用的安装程序,要链接的库等等)

相关问题