Accurev - 为什么不自动更新?
为什么 Accurev 在打开程序时自动运行“更新”不是标准行为? “更新”使用建筑/升级区域的最新文件更新用户的本地沙箱。
应该首先同步最新的文件似乎是预期的功能。
我并不是说它应该总是更新,但很好奇为什么自动更新不正确。
Why isn't it standard behavior for Accurev to automatically run an "Update" upon opening the program? "Update" updates a user's local sandbox with the latest files from the building/promoted area.
It seems like expected functionality that the most recent files should be synchronized first.
I'm not claiming that it should always update, but curious as to why an auto-Update wouldn't be correct.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
自动更新可能会产生一些非常不想要的结果。
考虑以下场景:您正在执行开发任务,但您犯了一个错误,需要恢复刚刚修改的文件。因此,您打开 AccuRev,但在您有机会“恢复到最新版本”之前,您会受到 100 个已在上游更改的文件的轰炸,其中包括您想要恢复的文件。现在,您被迫在构建解决方案之前解决所有合并冲突,包括正在进行的(可能不稳定的)代码的合并。
要求用户手动更新可以在开发人员周围保留一个保护性“气泡”,允许他们在自己的工作空间内提交(保留)更改,而不会导致可能破坏沙箱中工作稳定性的代码更改。当开发人员准备好与其他人共享其代码时,就是进行更新并随后在升级之前构建/重新测试合并的代码库的适当时机。
不过,我确实相信在一种情况下自动更新可能很有用:在工作区重新设置父级之后。即当开发人员的工作空间从流层次结构的一个部分移动到另一部分时。每次我们重新调整时,我们都必须做一点舞蹈:
如果 AccuRev 能够直接询问我们是否要立即更新,而不是仅仅给我们一个确认对话框,那就太好了。
Auto-updating could produce some very unwanted results.
Take this scenario: you're in the middle of a development task, but you've made a mistake and need to revert a file that you just modified. So you open AccuRev, but before you have a chance to "revert to most recent version", you are bombarded with 100 files that have been changed upstream including the one you want to revert. You are now forced into the position of resolving all the merge conflicts before your solution will build, including the merge of your (possibly unstable) code in progress.
Requiring the user to manually update keeps a protective 'bubble' around the developer, allowing them to commit (keep) changes within their own workspace without bringing down code changes that could destabilise the work in their sandbox. When the developer gets to a point where his code is ready to share with others, that is the appropriate time to do an update and subsequently build/retest the merged codebase before promoting.
However there is one scenario that I do believe auto-updating could be useful: after a workspace is reparented. i.e. when a developer's workspace is moved from one part of the stream hierarchy to another. Every time we reparent we have to do a little dance:
Instead of just giving us a confirmation dialog, it would be nice if AccuRev could just ask us if we want to Update immediately.
我想这取决于偏好。我个人不喜欢自动更新功能。
想象一下,您有一个巨大的项目,并且您不想每次启动 Accurev 时都构建它。但您也无法调试,因为源文件和调试信息不再对应。
I guess it depends on preference. I for one wouldn't like the auto-update feature.
Imagine you have a huge project and you don't want to build it every time you start Accurev. But you also can't debug because the source files and debugging info no longer correspond.