使用 PureCM 流保持开发步入正轨





0/5 (0投票)
2007年8月3日
4分钟阅读

17997
了解 PureCM 版本控制/SCM 系统如何通过 Streams 和 SCM 最佳实践来简化您的开发流程。
这是我们对 The Code Project 赞助商的展示性评测。这些评测旨在为您提供我们认为对开发人员有用且有价值的产品和服务信息。
PureCM 基础

PureCM 是一款跨平台的 软件配置/版本控制工具,并具有 集成的缺陷跟踪功能。PureCM 的设计旨在灵活地补充您想要使用的流程,而不是强迫您使用特定的开发流程。您可以 下载 PureCM 并免费与 2 位 用户一起使用。安装服务器时,可以选择安装一些示例数据,这将帮助您快速评估产品。
Streams 和模式

在 SCM 工具(SourceSafe、RCS 等)早期,有一件事总是让我们恼火,那就是它们的工作方式与我们(或大多数其他人)的工作方式不符。PureCM 引入的一个重要概念是“Stream”。它代表了一个特定的“开发线”,例如构成您的产品版本 1.1 的所有更改。这使得您可以更灵活地组织源代码和开发团队。
最能说明这如何适用于您的参考是 Steve Berczuk 和 Brad Appleton 的优秀著作《SCM 模式》以及《Streamed Lines》网站。在您进行 SCM 购买之前,花时间购买这本书或阅读后者网站是值得的。PureCM 的设计旨在补充而非 dictating 您的工作方式。
实践中

我们自己对 PureCM 的使用随着其开发而不断发展。我们通常为当前和即将发布的季度版本维护两到三个活跃的开发流。这些流具有定义的父子关系(例如,我们的 2007/2 开发流是 2007/1 开发流的“子流”),这使我们能够实现易于使用但功能强大的合并功能。
到了发布产品的时候,我们通过创建发布流来截取开发流的快照。这是一个发布版本的冻结源代码副本。由于父子关系再次得以维护,因此使用 Merge 为该版本进行错误修复变得很简单。
我们还广泛使用 Issues(考虑变更和缺陷跟踪等),并要求开发人员针对详细说明提交原因的 Issue 执行所有代码提交,这有助于追溯性。我们要求的另一个关键功能是能够审查和批准/拒绝对某些代码行/流的更改。这使我们将代码审查作为日常流程的一部分,从而提高质量。
合并 (Merging)

假设您已经发布了产品的“版本 1”,并且正在忙于开发“版本 2”。客户报告了“版本 1”中的一个关键错误,需要立即修复。
开发人员在“Development/Version1”流中修复了问题,并创建了新版本“Release/Version1.2”流并发布给客户。另一位开发人员随后可以点击按钮将错误修复合并(或应用)到“Development/Version2”流中。
如果需要更改的文件在“版本 2”中未被修改,则用户可以简单地选择已提交的更改集并“快速合并”到“版本 2”流。
如果文件在“版本 2”中已被更改,则开发人员需要将更改集合并到工作区,并使用 Resolve Tool 解决任何冲突。
报告

PureCM 具有灵活的报告系统,用户可以使用 XSLT 编写自定义报告。还提供了常用查询的默认报告。
PureCM 最常用的报告之一是“发布说明”报告。此报告将列出在一个流中提交但未在另一个流中提交的所有更改集。因此,如果一个更改已在“版本 2”中提交并合并到“版本 1”,则该更改将不会出现。
此外,在 Changeset Dialog 中查看更改集时,您可以看到该更改已合并到哪些流以及是从哪个流合并过来的。
问题跟踪

PureCM 中的问题跟踪功能与其他产品中的错误跟踪类似。一个关键的区别是,在 PureCM 中,它是完全集成的,您可以完全自定义可输入的字段以及操作/状态/工作流。
您可以创建不同的问题类型(例如,“缺陷”和“变更请求”),并为工作流应用完全基于角色的安全性(哪些用户组可以执行哪些操作和/或更改哪些字段)。为了保持与原始需求或变更包的可追溯性,您还可以要求用户提交时附带相关问题。
结论
希望您有足够的兴趣亲自尝试 PureCM。您可以下载一个 评估副本 并亲自试用其功能。我们一直乐于听取 用户反馈 和改进产品的建议。