Savannah 上的缺陷跟踪、任务与 Git 服务是如何运作的?
更新时间
Savannah 把缺陷跟踪、任务、补丁和 Git 代码托管放在同一个项目空间里:每个托管项目可以分别使用 bug、task、patch 等跟踪类别,问题以“票”的形式记录并支持投票排序;Git 仓库的 HTTP/HTTPS 读取流量则已被重定向到志愿者维护的只读镜像,主站资源优先留给授权成员访问。想了解某个自由软件项目的缺陷进展或参与修复,可以从项目页面进入对应跟踪类别,再结合邮件列表跟进讨论。
跟踪类别:bug、task、patch 各管什么
Savannah 的项目页面提供多种跟踪类别,常见的有:
| 类别 | 典型用途 | 页面上的表现 |
|---|---|---|
| bug(臭虫) | 报告软件缺陷、异常行为 | 每张票有编号、标题和票数 |
| task(工作) | 记录待办事项、改进需求 | 同样以票的形式列出 |
| patch(补丁) | 提交代码修改供审查 | 与 bug 关联或独立存在 |
| support(支援) | 使用求助 | 面向用户的问题 |
首页“最热门的项目”列表直接按票数展示全站热点,例如 bug #55093(Add LUKS2…)有 1989 票,sr #108134(Use XDG dirs instead of $HOME…)有 595 票。票数反映社区关注度,不等于修复优先级,但可以作为判断“哪些问题被讨论得最多”的入口。
如何从一张票追到实际进展
- 在项目页面或首页热门列表点开票号,查看问题描述、复现步骤和已有讨论。
- 阅读该票的状态字段(如 open、fixed 等)和关联的补丁、提交记录。
- 若需要更及时的信息,转到项目邮件列表或 savannah-users 一般使用协助列表提问;savannah-announce 则是低流量的站务通知列表。
预期结果是:你能判断该问题是仍在等待、已有补丁待审,还是已经关闭,从而决定是否参与。
Git 服务:读取走镜像,写入留给成员
Savannah 托管项目的 Git 仓库仍以主站为权威,但读取路径发生了变化。根据站内最新消息:
- 2026 年 5 月 30 日的公告说明,托管 Git 仓库的所有 HTTP(含 HTTPS)流量已重定向到志愿者提供的镜像网络,目的是减轻主站负载,把可用性留给成员(“authorized user”)访问。
- 2025 年 5 月 26 日的公告说明,此前所有 Git 服务由单台虚拟机承担,后来组建了一组志愿者贡献并维护的只读镜像(“secondaries”),并启用了 CGIT 和 GITWEB 的 HTTP 重定向。
对使用者的实际影响:
- 用浏览器或 HTTP 方式浏览仓库、克隆只读副本时,请求可能落到镜像上,内容与主站一致,但镜像为只读。
- 需要推送代码的授权成员仍以主站为准;普通访客不必寻找“切换镜像”的开关,重定向是自动完成的。
- 如果发现镜像内容滞后,属于镜像同步的固有延迟,可稍后重试或查看公告了解同步状态。
把跟踪与代码连起来看
一个具体场景:你想确认某个 bug 是否已有修复。先在 bug 票里看是否附有 patch 票号,再按该票号找到补丁讨论;若补丁已合入,票状态通常会更新,Git 提交记录也能在项目仓库中查到。由于 HTTP 读取走镜像,刚合入的提交在镜像上可能短暂不可见,此时以主站仓库或公告为准。
选择与注意事项
- 只想报告问题或投票:直接用项目页面的 bug/task 跟踪,无需 Git 权限。
- 想提交补丁:先查是否已有对应 patch 票,避免重复;补丁审查在票内进行。
- 想长期参与:订阅项目邮件列表和 savannah-announce,前者跟进具体讨论,后者只收站务变更。
- 项目准入有边界:Savannah 代管在自由操作系统上运行、不依赖专有软件的自由项目,官方 GNU 软件走主站,非 GNU 项目走 savannah.nongnu.org;提交托管前先确认项目符合这一条件。
当前站内统计显示有 26117 位注册用户、3858 个托管群组,其中官方 GNU 软件 406 个、非 GNU 软件与文档 3356 个,可作为判断平台活跃度的参考。