我正在使用TFS 2008和2010,我认为当您签入一个未更改的文件时,TFS应自动确定没有更改,并撤消更改而不是为其创建新的更改集。
为了测试这个,我只是检查我的解决方案中的任何单个文件(例如web.config)。然后我(不做任何更改)立即检查。我查看了该文件的历史记录,并看到它有一个新的变更集。当我将该文件与之前的版本进行比较时,它会显示“文件相同”。
我认为不应该创建新的变更集,因为文件没有更改。我认为这是它应该工作的方式,我也认为这是它曾经为我工作的方式。我错了吗?有没有人对如何解决这个问题有所了解?
答案 0 :(得分:0)
如果您使用的是本地工作区,而不是服务器工作区。本地工作空间是在TFS 2012中与VS 2012一起引入的,与之前的版本无法比较。
我注意到使用2010年,更不用说2008年了,但是如果我没记错的话,你明确表示要查看整个解决方案,然后签入。在服务器工作中,提高潜在的性能代码库它没有做那些检查。
答案 1 :(得分:0)
我已确定导致我的问题的原因。我的组织最近启用了本地安全策略设置"系统加密:使用符合FIPS的算法进行加密,散列和签名"在所有计算机上。显然,VS / TFS 2008和2010并没有完全处理这个设置,文件的检查/比较是导致冲突的地方。
按照设计,VS 2008和VS 2010应该只提交确实已更改的文件。如果文件处于挂起状态但尚未实际修改,则当您告诉它检查文件时,它应该撤消检出。但是,当启用FIPS设置时,无论如何都会提交文件。
要解决此问题,您需要禁用FIPS设置并重新启动Visual Studio。