NEP 6 — 用不同的错误跟踪器替换 Trac #

作者

大卫·库纳波、斯特凡·范德沃尔特

地位

延期

numpy 和 scipy 的一些发布经理对当前的开发工作流程越来越不满意,尤其是错误跟踪。本文档尝试解释一些有问题的场景、当前的 trac 限制以及可以采取的措施。

设想

新版本#

发布的工作流程大致如下:

  • 找到上一个版本中所有已知的回归,并修复它们

  • 了解自上次版本以来报告的所有错误

  • 对回归/阻塞问题/等中的错误进行分类,并将它们分配到相应的路线图、子包和维护人员中

  • ping 子包维护者

大多数这些任务在 scipy 上使用的当前 trac 中效率相当低:

  • 很难跟踪问题。特别是,每次访问 trac 时,我们都不知道什么是新的,什么是旧的。如果您将问题视为电子邮件,那么当前的情况就像没有已读/未读功能。

  • 问题的批量处理:同时更改多个问题的特征很困难,因为唯一可用的 UI 是基于 Web 的。对于这种情况,基于命令行的 UI 效率更高

更一般地说,使用当前部署的 trac 来制作有用的报告非常困难。 Trac 0.11 可以解决这些问题,但它必须比 scipy 网站上实际部署的版本好得多。查找补丁、旧补丁等问题……并制作报告必须比现在更加简化。

子组件维护者#

假设您是 scipy.foo 的维护者,那么您最感兴趣的是仅与 scipy.foo 有关的错误。但一般团队应该很容易跟随您的工作 - 对于临时用户(例如,不是开发人员)也应该很容易跟随一些新功能的开发节奏。

审查,新代码#

目标很简单:使门槛尽可能低,并确保人们知道每一步该做什么来为 numpy 或 scipy 做出贡献:

  • 目前,补丁在 trac 中搁置了太久。当然,时间不够也是一大原因;但跟踪新贡献的过程可以变得更加简单

  • 应该只能对 numpy/scipy 的一个子集的评论进行 ping 操作。

  • 对补丁感兴趣的人应该可以跟踪其进展。评论以及“迷你”时间表可能很有用,特别是对于大量问题(来自编码 POV 的大量问题)。

当前跟踪限制#

注意:trac 是指当前部署的。一些较新的版本可能会解决一些问题。

  • 多项目支持:我们有三个 trac 实例,一个用于 scipy,一个用于 numpy,一个用于 scikit。创建帐户、维护和更新每个帐户都是一项维护负担。没有人喜欢做这种工作,所以任何能减轻负担的事情都是有利的。此外,经常发生针对 numpy 的错误被 scipy trac 填充,反之亦然。目前,您必须手动处理此问题。

  • 客户端不基于 web-ui。这可以通过 xmlrpc 插件 + 一些客户端来完成。特别是,像 http://traceexplorer.devjavu.com/这样的东西对于喜欢 IDE 的人来说可能会很有趣。至少有一个人表达了他希望尽可能多地与 Eclipse 集成的愿望。

  • 强大的查询:应该能够快速找到两个版本之间的问题、给定日期的新问题、补丁问题、等待审核的问题等……问题数据必须是可定制的,因为大多数错误跟踪器不支​​持诸如评论等之类的事情......所以我们需要自己处理这个问题(通过标签等......)

  • 将问题标记为已读/未读。任何用户都应该可以“掩盖”问题以忽略它们。

  • 票据依赖性。这对我对大功能的体验非常有帮助,这些大功能可以分为几个问题。路线图只能由 trac admin 创建,而且它们是重量级的。

可能的候选人#

更新了 trac + 插件#

优点:

  • 相同系统

  • 在Python中,所以如果我们愿意的话我们可以破解它

缺点:

  • Trac 的目标是基础,并通过插件进行扩展。但大多数插件都已损坏,或者不是最新的。有关哪些插件成熟的信息不容易获得。

  • 至少 scipy.org trac 很慢,并且需要不断重新启动。这根本不可接受。

Redmine #

优点:

  • 支持大多数功能(除了 xmlrpc?)。多项目等...

  • (主观):我(cdavid)发现 redmine 的开箱即用体验更加令人愉快。轻松获取更多信息,点击次数更少,流程更精简。有关示例,请参阅 http://www.redmine.org/wiki/redmine/ TheyAreUsingRedmine

  • 来自 trac 的转换脚本(对于 numpy/scipy 还没有使用经验)。

  • 社区看起来很友好并且完成了很多功能

缺点:

  • 新系统,不太成熟?

  • in Ruby:由于我们是一个python项目,所以大多数开发人员都熟悉python。

  • 维基整合等……?

未知:

  • xmlrpc API

  • 表演

  • 维护成本

围捕

go做