Accurev - 为什么不自动更新?

时间:2011-08-05 14:48:15

标签: accurev

为什么Accurev在打开程序时自动运行“更新”是不是标准行为? “更新”使用来自建筑/升级区域的最新文件更新用户的本地沙箱。

似乎预期的功能是应该首先同步最新的文件。

我并没有声称它应该始终更新,但对于为什么自动更新不正确感到好奇。

2 个答案:

答案 0 :(得分:3)

自动更新可能会产生一些非常糟糕的结果。

采取这种情况:您正处于开发任务的中间,但是您犯了一个错误,需要还原您刚刚修改过的文件。因此,您打开AccuRev,但在您有机会“恢复到最新版本”之前,您将受到上游已更改的100个文件(包括您要还原的文件)的轰炸。在构建解决方案之前,您现在被迫处理解决所有合并冲突的位置,包括正在进行的(可能不稳定的)代码的合并。

要求用户手动更新在开发人员周围保留一个保护性的“泡沫”,允许他们在自己的工作区内提交(保留)更改,而不会导致可能破坏其沙箱中工作的代码更改。当开发人员达到他的代码准备与他人共享的程度时,这是进行更新并随后在推广之前构建/重新测试合并代码库的适当时间。

然而,有一种情况我确实认为自动更新可能很有用:在重新设置工作空间之后。即当开发人员的工作空间从流层次结构的一部分移动到另一部分时。每当我们重新表达时,我们都要做一点舞蹈:

  1. 接受确认对话框,提醒我们(相当详细)我们需要更新工作区才能推广任何更改。
  2. 双击工作区以查看其文件。
  3. 等待AccuRev执行“待处理”搜索,以确定是否有任何文件更改等待提交。
  4. 最后,执行更新。
  5. 如果AccuRev可以直接询问我们是否要立即更新,而不仅仅是给我们一个确认对话框,那将是很好的。

答案 1 :(得分:1)

我想这取决于偏好。我不喜欢自动更新功能。 想象一下,你有一个庞大的项目,你不想每次启动Accurev时都要构建它。但是你也无法调试,因为源文件和调试信息不​​再对应。