【发布时间】:2010-09-12 06:35:27
【问题描述】:
我正在寻找有关不同源代码控制策略的概述。我只遇到了 Main-Line 政策,并希望在与团队合作之前更好地了解其他人。
谁能提供一个概述链接,或者给我一些政策名称,以便我可以在上面启动谷歌?
【问题讨论】:
标签: svn version-control
我正在寻找有关不同源代码控制策略的概述。我只遇到了 Main-Line 政策,并希望在与团队合作之前更好地了解其他人。
谁能提供一个概述链接,或者给我一些政策名称,以便我可以在上面启动谷歌?
【问题讨论】:
标签: svn version-control
我最喜欢的策略是“没有不引用票证的颠覆提交 + 每次提交的 Auto Trac cmets”:http://trac.edgewall.org/browser/trunk/contrib/trac-post-commit-hook
【讨论】:
Practical Perforce 这本书我用得很好。尽管您可能没有使用 Perforce,但我认为第 7 章(软件如何发展)和第 8 章(基本代码线管理)可能非常有用。您也许可以在Google Books 上浏览它们。
Perforce 也有很多关于这个主题的精彩文章。 Software Life-Cycle Modeling 撰写有关政策的文章。
强制完成technical documentation。
而且,不,我没有为 Perforce 工作。
祝你好运, 托马斯
【讨论】:
没有空的提交消息。
【讨论】:
提交每个更改而不是每个文件。
这有以下优点:
有些人认为这个策略会产生更多的提交,但根据我的经验,你得到的提交毕竟更少。例如,您正在进行影响 50 个文件的重构。重构后,您有一个带有消息“重构的 xyz 子系统”的提交。
对于更大的更改,您应该考虑 dev-branch-per-change 政策。
【讨论】:
论文"streamed lines: branching patterns for parallel software development" 是关于分支模式的精彩讨论,例如您提到的“主线”模式 - 它以模式的形式列出了选项以及对反模式的讨论。其中一位作者是 Perforce 的 Robert Orenstein。
【讨论】:
不要签入/提交任何破坏构建的更改。
【讨论】:
我们在项目中使用了一些实用规则作为提交策略。这些规则帮助我们将每个修订版保持在准备部署状态。我们的规则类似于 KDE 提交策略,发布在此处:http://techbase.kde.org/Policies/SVN_Commit_Policy。 每个提交应该是(从高到低优先级):
我们开发了一个简单的工具 SvnCommitChecker,它可以帮助我们在提交到 svn 之前检查其中的一些规则。我计划在不久的将来将它放到 sourceforge 上,并附上一篇关于保持良好 svn 更改历史的好处的文章。
【讨论】:
这两个基本一样:
Version Control for Multiple Agile Teams
Configuration Management Branching Strategy
我们正在使用这种策略来使主干稳定,并使开发人员能够在他们的分支上做他们需要的任何事情。
Subversion 存在一些问题,因为它无法处理 Cyclic merges,但它可以通过在每次重新集成回主干后删除开发分支来解决(与其他版本控制系统无关)
【讨论】: