TFS变更集签入之间的更改正在丢失

时间:2012-09-24 13:31:51

标签: tfs

当我们的承包商办理登机手续时,我发现我的一些变更正在“丢失”。

一般过程如下:

  1. 我执行了一些错误分析并实施了修复。
  2. 然后我登记了我的代码。
  3. 承包商将在以后办理退房/登记手续。
  4. 上一个变更集(我的更改)的更改将丢失。
  5. 在我看来,这是非常不可接受的,特别是当我处理自上次构建以来引入的应用程序破坏回归时。

    现在至少已经发生了两次,我唯一能想到的是承包商未能确保他在结账时拥有最新的变更设置。我们的repo不允许多次签出,并且部队会在结帐时获得最新信息,这会让事情变得如此奇怪(因为我们两人都应该使用Server工作区)。

    这个问题还有其他原因吗?我不想把我的担忧带到我的直线经理那里,而不确定我是否涵盖了所有基础。

2 个答案:

答案 0 :(得分:2)

Get Latest item on check out设置在客户端而非回购中,这意味着您的承包商可能仍然可以检出错误的版本。这样做会导致合并冲突,但这取决于他们编辑的位置(以及他们如何管理这些冲突)。

答案 1 :(得分:0)

我已经看到TFS以这种方式失去了变化。我昨天去了一个客户端站点,进行了更改,签入,今天回到我的办公室,得到了更改(假设它将像我们通常那样与我的本地更改合并),刚刚进入办理登机手续,我可以看到在它的差异中,它消除了客户端站点的变化(显然忽略了本地的合并)。我检查了一下只是为了确认我看到了什么,是的,没有需要解决冲突,TFS认为一切正常,但我修改后的本地文件只是公然覆盖了TFS中的修改版本,有效地丢弃了整个客户端站点的变化(就像是我选择了解决冲突的问题,但我从未向我询问冲突或暗示有冲突,只是默默地失去冲突。

如果您在提交之前看到更改,您可以看到您所做的更改比您想象的更多 - 即客户端站点更改实际上被删除并将显示为差异 - 但是它很容易当你这么做的时候想念这个。 我曾经想过当他们以这种方式跳过我的改变时会责怪同事,但现在我实际上已经看到自己这样对自己这样做了,我意识到这个工具是有缺陷的。很难相信,但是将本地更改的文件与“最新的”文件合并的方式显然有问题。我有时会使用带有片状网络连接的云TFS - 我告诉这有助于解决这个问题。