为什么Accurev在打开程序时自动运行“更新”是不是标准行为? “更新”使用来自建筑/升级区域的最新文件更新用户的本地沙箱。
似乎预期的功能是应该首先同步最新的文件。
我并没有声称它应该始终更新,但对于为什么自动更新不正确感到好奇。
答案 0 :(得分:3)
自动更新可能会产生一些非常糟糕的结果。
采取这种情况:您正处于开发任务的中间,但是您犯了一个错误,需要还原您刚刚修改过的文件。因此,您打开AccuRev,但在您有机会“恢复到最新版本”之前,您将受到上游已更改的100个文件(包括您要还原的文件)的轰炸。在构建解决方案之前,您现在被迫处理解决所有合并冲突的位置,包括正在进行的(可能不稳定的)代码的合并。
要求用户手动更新在开发人员周围保留一个保护性的“泡沫”,允许他们在自己的工作区内提交(保留)更改,而不会导致可能破坏其沙箱中工作的代码更改。当开发人员达到他的代码准备与他人共享的程度时,这是进行更新并随后在推广之前构建/重新测试合并代码库的适当时间。
然而,有一种情况我确实认为自动更新可能很有用:在重新设置工作空间之后。即当开发人员的工作空间从流层次结构的一部分移动到另一部分时。每当我们重新表达时,我们都要做一点舞蹈:
如果AccuRev可以直接询问我们是否要立即更新,而不仅仅是给我们一个确认对话框,那将是很好的。
答案 1 :(得分:1)
我想这取决于偏好。我不喜欢自动更新功能。 想象一下,你有一个庞大的项目,你不想每次启动Accurev时都要构建它。但是你也无法调试,因为源文件和调试信息不再对应。