跳转到主要内容

七足机器人服务器端Mercurial钩子、扩展等。

项目描述

Heptapod服务器的Python组件

build status tests coverage

Heptapod 是一个友好的GitLab分支,引入了Mercurial兼容性。它是一个由多个组件组成、涉及多种编程语言的系统,尤其是Ruby、Go和Python。

本包的目的是集中管理所有尚未(还)包含在其他任何更通用的Python项目(Mercurial、其扩展、通用库等)中的Heptapod Python代码,并保持它们处于高质量状态。

范围和版本策略

这个Python项目不是为其他任何事情而设计的,而是作为Heptapod 服务器 的一个组件,也不是Heptapod的全部,而只是偶然用Python编写的部分。

与其他Heptapod组件的相互依赖性非常紧密,以至于Heptapod发布的要求文件通常完全指定了此项目。从版本1.0.0(针对Heptapod 0.17)开始,我们计划遵循 semver 规则(使用PEP 440进行开发版本)。

从版本0.13.0开始完全支持Python 3,已用3.7和3.8进行测试。

Python 2 的支持已被弃用,自版本 1.0.0 以来。目前只有 testhelpers 子包在两个 Python 版本中完全支持,因为它可以用于更通用的 Mercurial 相关测试。当我们为 testhelpers 找到新的家园时,将完全停止对 Python 2 的支持。

开发指南

启动测试

我们使用 pytest 进行单元和集成测试,通常在虚拟环境中运行。

python 3 -m venv venv
source venv/bin/activate
./run-all-tests

我们有一项 100% 的覆盖率政策,由 run-all-tests 执行,因此由持续集成执行。

在我们的持续集成中,完整运行大约需要 20 秒,通常在开发者工作站上会更少。

工作流程规则

我们遵循 Heptapod 默认工作流程。请创建一个主题,并提交合并请求。

合并请求管道必须通过,并且覆盖率必须保持在 100%,才能在技术上被认为是可接受的 - 我们可以帮助实现这些结果,但这不是提交合并请求和收集反馈的强制性要求。

内容

仓库的 WSGI 服务

heptapod.wsgi 提供(目前还不完全独立)

Mercurial 钩子

heptapod.hooks.check_publish.check_publish:关于推送中公共更改集的权限规则。heptapod.hooks.git_sync.mirror:同步到内部辅助 Git 仓库以在 GitLab 中展示。heptapod.hooks.dev_util:用于调试和开发的实用钩子。

Mercurial 扩展

heptapod 扩展将提供特定的命令以及所有应该使用完全访问 Mercurial 内部结构的操作。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

heptapod-4.7.7.tar.gz (107.5 kB 查看哈希值)

上传时间 源代码

支持者