服务器 频道

解析IBM RTC在软件开发过程的应用实践

  3.2.3 与Stream之间进行变更的交互更新

  下图显示了pending changes中不同状态的变更集:

 


▲图14.Pending Changes中变更集的不同状态

  ? Unresolved 是可以 Check-In 的变更集

  当用户在 Local 更改了代码文件时,就会出现 Unresolved 目录,里面列出了所有的更改文件。开发者可以将更改过的文件,分成几个不同的 Chang-Set 来 Check-In。

  所有 Unresolved 的变更可以通过 Undo 来随时撤销。


▲图15. Unresolved状态的变更集可执行Ceck-in操作

  ? Outgoing 是可以 Deliver 的变更集

  当成功 Check-In 后,会在 Outgoing 目录中出现等待 Deliver 的变更集。

  对于还未 Deliver 的 Change-Set,开发者可以随时再次修改,再次做 Check-In。

  如果用户想把这次 Check-In 的东西固定下来,再次修改的变更作为一个新的 Change-Set 的话。如图15可以把已经 Check-In 的 Change-Set 标记为 Complete。就可以再次 Check-In 新的变更,而又不会影响到上次作的变更,会在 Outgoing 中出现 2 个针对同一文件的不同的 Chang-Set。这也正是 RTC 对于 Chang-Set 概念的优势体现。


▲图16.针对同一文件通过Complete操作chek-in两次变更

  当准备做 Deliver 的 Change-Set 与其他开发者的 Change-Set 有冲突时,RTC 中会显示一个双向箭头标记,如图16,这时候可以做 Discard 自己的 Change-Set 或者作 Merge。


▲图17.处于冲突状态的change-Set

  ? Incoming是可以 Accept 的变更集

  如果Local 已经 Load 过关于这个变更集的 Component,当开发者 Accept 一个变更集时,会自动 Load 到开发者本地的环境中去。如图显示为 loaded。

  如果Local 没有 Load 过关于这个变更集的 Component,那么 Accept 将只是在服务器端操作。

  3.2.4 基线和快照功能

  在repository space中右键选择某一个component,可以创建baseline,baseline将会记录component内文件的当前状态,并可以在任何情况下方便的恢复到该baseline的状态。


▲图18.新建Baseline操作

  右键选择stream或者repository space,则可以对整个stream或者repository进行创建snapshot操作。


▲图19.新建Snapshot操作

  Snapshot将会记录整个stream或者repository space的当前状态。

  而在Snapshots视图中,可以选择曾经创建的snapshot,方便地进行Stream或者repository space的重现工作。


▲图20. 从Snapshot恢复Stream或Repository Wworkspace

  RTC以其特有的三重工作空间模式和可视化的交付/接受变更视图,实现了完备的代码管理和版本控制功能,并能够有效避免可能产生的冲突。其强大快速的baseline和snapshot功能,又为代码安全可追溯和可恢复提供了保障。

2
相关文章