TFS源代码控制允许我们签入一个不是最新版本的文件

时间:2016-04-29 02:02:52

标签: tfs version-control tfvc

我们正在使用Team Foundation Source Control,我们的一位用户没有做过#34;获取最新版本"在我们正在进行的项目上。用户进行更改后(对于过时的版本),他们可以在没有任何问题的情况下签入更改。

这意味着在进行更改之前,他们在工作区中没有的任何先前更改都会被完全覆盖。

我们对一个单独的项目进行了测试,我做了一个更改,然后另一个用户对同一个文件进行了更改(但没有获得最新版本,所以他们没有最新版本来自源代码管理的版本)。他们能够成功办理登机手续。

怎么会发生这种情况?我之前使用过GIT,这是不可能的,因为它应该引发需要解决的冲突。

1 个答案:

答案 0 :(得分:1)

我怀疑你有"尝试在生成冲突时自动解决冲突"打开,如果可以,将尝试自动解决冲突:

enter image description here

但即使遇到这种情况,即使冲突自动得到解决,最初也会取消签入。

enter image description here

如果您再次尝试办理登机手续,您可以在没有任何进一步警告的情况下办理登机手续。并且没有明确地调用"获取最新版本"。

如果双方的变化都是相同的变化,那么这次办理入住的尝试实际上会无声地失败,并将取消本地变更,转而支持"更新"服务器版本。

您还可以使用tf vc checkin /force强制从命令行进行签入(丢弃服务器更改)。

可能发生的另一种情况是相关文件未更改,但是是合并操作的一部分。在这种情况下,"合并"将被记录为新的变更集,但内容可以保持不变。

我不知道有任何其他步骤可能会导致无法明确检入更改。