我的公司使用Accurev进行源代码控制,并且为了它的所有好处,有一个简单的操作,我无法弄清楚如何完成.
通常我们会有人在我们的流结构中意外地将文件推得太远 - 例如,从"开发"流到"发布"流."取消推广"此文件的最佳方法是什么?也就是说,要将旧版本的文件恢复到"Release"流中,并将文件的新版本保留在它所属的"开发"流中?
只需对Release流中的文件执行"Revert to Backed"或其他Revert操作,就会导致旧版本的文件传播到Development中,或者使文件完全消失.
在上面的例子中,开发人员必须通过在流上设置基准时间来跳过箍,或者使用命令行工具来检查旧事务,以恢复文件.有时候有问题的人是非技术性的,所以这不是一个好的解决方案.
我还考虑过将文件移动到"更高地"的流,还原,然后再将它们交叉推广到下游.这看起来真的很笨拙.
似乎Accurev模糊不清以至于谷歌没有帮助,所以我向StackOverflow的好人寻求帮助 - 有没有人想出"Accurevy"的方法来实现这一目标?
Ste*_*aft 29
转到主流浏览器
右键单击您意外升级到的流,然后选择"显示历史记录"
在历史记录浏览器中,右键单击要还原的促销,然后选择"还原"
它会提示您要将还原结果放入哪个工作区,您可以根据需要选择意外提升的工作区.
在您的工作区中,文件现在应该回到意外提升之前的状态.您现在可以将其备份到上面的流中.该流现在将包含已删除意外提升的文件版本.
您可以注意到您的工作区不再包含任何相关文件,但可能您希望将您意外提升的文件恢复到工作区中?如果是这样,请返回到流的历史记录浏览器,右键单击刚刚创建的促销(具有还原编辑的促销),然后选择"还原".然后,您可以选择与目标相同的工作空间.
这些文件现在可能会出现在您工作区的默认组中,并且会发生冲突,因此只需选择该批次并进行合并即可.你可能想在这里接受琐碎的合并.
合并文件后,它们应出现在待处理的过滤器中.您现在应该拥有与意外提升之前相同的待处理文件,并且上面的流应该在文件中具有与您提升之前相同的内容.
这很简单(具有讽刺意味).
史蒂夫
小智 12
accurev的审计友好,仅附加属性实际上意味着恢复更改意味着重新应用您想要的版本.直觉上,你想要倒退"一步到位".但是在仅附加系统中,这实际上意味着前进并重新应用旧版本.因此,恢复自然是"两步前进"过程而不是"一步回".
在大多数情况下,恢复不会经常发生,因此"仅附加" 的全局值超过了恢复配方(IMO).
作为一站式一致的解决方案,最准确的方法(如您所述)是恢复促销交易.查看流历史记录,找到不需要的促销,RClick>还原.你需要一个儿童工作区..为什么?因为进行还原可能需要取消合并.考虑恢复间隙促销...这就像从三明治中取出生菜并需要将顶部和底部面包合并在一起.只有在基于txn的系统中,该还原还可能包括番茄,芥末和芹菜盐以及单一的"撤消".因此,如果存在合并,则需要保存合并的更改.在任何情况下,即使您只是撤消最近的促销,只需将更改还原到工作区,进行[偶尔]合并,并将所有内容提升.
长话短说.在任何CM系统中恢复有点像做手术,所以你可能需要相关人员参与.
退后一步.我倾向于利用accurev流来比早期验证代码并仅在验证时提升链.因此,当你提升更高时,回复的可能性就会降低.
小智 5
AccuRev 5.2版引入了直接在流中恢复事务或问题的能力,而不涉及工作空间.这对于恢复"发布"流中的更改很有用,但不能解决问题的第二部分(将新版本放回"开发"流中.完整的"unpromote/demote"功能计划用于未来发布.
有关5.2版的更多信息,请访问发布说明 -
http://www.accurev.com/download/docs/5.2.0_books/AccuRev_5_2_0_Install_Release_Notes.pdf