多变历史的灵活演变。
hg-evolve的Python项目详细描述
进化扩展
这个包为mercurial提供了evolve扩展名,
变更集演化概念的完整实现仍在 进度。请订阅evolve-testers mailing list以跟上 更改日期。
此分机:
- 启用Mercurial Core的“变更集演化”功能,
- 提供一组命令来改变您的历史记录,
- 当某个可变的故障出现在 您的存储库,
- 提供一个hg evolve命令来处理此类“问题”,
- 提高报废标记交换和发现的性能 推拉。
如何安装
使用pip
您可以使用pip:
$ pip install --user hg-evolve
然后在您的hgrc中启用它:
$ hg config --edit # adds the two line below: [extensions] evolve =
来源
从源安装本地版本:
$ hg clone https://www.mercurial-scm.org/repo/evolve/ $ cd evolve $ pip install --user .
然后在您的hgrc中启用它:
$ hg config --edit # adds the two line below: [extensions] evolve =
文档位于doc/。
仅服务器设置
可以针对服务器启用较小的扩展子集 服务存储库。它跳过了新命令和本地ui的添加 可能会增加性能开销的消息。仅使用服务器 扩展,安装软件包并使用:
$ hg config --edit # adds the two line below: [extensions] evolve.serveronly =
扩展目的
此扩展的目标是为代码和 与变更集进化到成熟相关的概念。在此扩展中,我们允许 对于黑客代码,解锁快速的实验和更快的迭代。
此外,evolve扩展支持更广泛的mercurial版本集, 使我们能够获得更大的用户群以获得反馈。进化延伸是 不紧跟Mercurial发布周期,可以发布新特性和bug 必要时以更高的速率固定。
一旦一个概念准备好了,它的实现就会进入mercurial。 核心。成熟期帮助我们更清楚地了解 需要。在上游过程中,我们可以使用这个更清晰的图片 清理代码并将其升级到Mercurial Core的适当质量。
如何贡献
讨论发生在{a2}上的hg演化irc。
Bug将在Mercurial的Bug Tracker上报告(组件:evolution):
您可以使用patchbomb扩展名向mercurial devel发送电子邮件。请制作 这样做时一定要使用evolve ext标志。您可以使用如下命令 这个:
$ hg email --to mercurial-devel@mercurial-scm.org --flag evolve-ext --rev '<your patches>'
有些开发是在使用主题扩展的公共位桶存储库(evolve-devel)上进行的。
有关修补程序描述的指南,请参见official Mercurial guideline。
请不要忘记在修复错误或 添加功能。要运行测试,您需要Mercurial的工作副本, 用$hgsrc:
$ cd tests $ python $HGSRC/tests/run-tests.py
分支策略
演化测试受到核心变化的高度影响。为了解决这个问题,我们使用命名分支。
有两个主要分支:“稳定”和“违约”。对这些分支的测试是 应该与core中相应的“default”和“stable”分支一起通过 反复无常。文档是从stable的顶端构建的。
此外,我们还有兼容性分支来检查旧版本的 反复无常。它们是“mercurial-x.y”分支。他们习惯于申请 只有预期的测试更改,不应该在那里发生代码更改。
核心变更集的测试输出变更应在其描述中添加以下行:
核心-测试-输出-更新:<;核心-节点-id>;