1

我发现当我们的承包商进行签到时,我的许多更改都“丢失”了。

一般流程如下:

  1. 我执行一些错误分析并实施修复。
  2. 然后我签入我的代码。
  3. 承包商在以后执行签出/签入。
  4. 先前变更集的更改(我的更改)将丢失。

在我看来,这是非常不可接受的,特别是当我处理自上次构建以来引入的应用程序中断回归时。

这种情况现在至少发生了两次,我唯一能想到的是承包商未能确保他在退房时拥有最新的变更集。我们的存储库不允许多次签出,并且强制在签出时获取最新信息,这使得事情变得如此奇怪(因为我们都应该使用服务器工作区)。

这个问题还有其他原因吗?我不想在没有确定我已经涵盖所有基础的情况下将我的担忧告诉我的直线经理。

4

2 回答 2

2

Get Latest item on check out是在客户端而不是在 repo 中设置的,这意味着您的承包商可能仍然能够签出错误的版本。他们应该在这样做时遇到合并冲突,但这取决于他们编辑的位置(以及他们如何管理此类冲突)。

于 2012-09-24T14:02:34.800 回答
0

我已经看到 TFS 以这种方式丢失了更改。我昨天去了一个客户站点,进行了更改,签入,今天回到我的办公室,得到了更改(假设它会像往常一样与我的本地更改合并),刚刚去签到,我可以看到在它消除了客户端站点更改的差异中(显然忽略了本地合并)。我签入只是为了确认我所看到的,是的,不需要解决冲突,TFS 认为一切都很好,但是我修改后的本地文件只是公然覆盖了 TFS 中的修改版本,有效地丢弃了整个客户端站点更改(就像如果我选择了解决冲突,保留我的 - 但是它从来没有问过我关于冲突或暗示有冲突,只是默默地失去了它)

如果您在提交之前查看更改,您会发现您所做的更改比您想象的要多 - 即客户端站点更改已被有效删除并将显示为差异 - 但是当您这样做时很容易错过这一点很多。当他们以这种方式跳过我的更改时,我以前曾想过责怪同事,但现在我实际上已经看到自己对自己这样做了,我意识到该工具有缺陷。难以置信,但将本地更改的文件与“获取最新”合并的方式显然有问题。我有时使用带有不稳定网络连接的云 TFS - 我被告知这会导致问题。

于 2014-03-12T22:19:15.030 回答