此页面收集了志愿者寻找重要任务的项目想法。如果您希望对 Subversion 做出重大贡献,但尚未确定要从事的工作,那么此页面适合您。
这些项目想法被认为适合 Google Summer of Code 和 女性参与计划 等项目。
改进与其他编程语言的绑定。
Subversion 的优势之一是它提供了一套丰富的“绑定表面”:不仅在 C(Subversion 的原生语言)中,而且在其他编程语言(目前包括 Perl、Python、Ruby 和 Java)中都可用的 API。
其中一些语言绑定通过 SWIG 进行维护,SWIG 是一种部分自动生成绑定的工具,而其他绑定则通过手工维护。许多绑定尚未完全覆盖,或者在覆盖的地方存在接口问题(例如,它们可能不会公开最新 Subversion 版本的所有 API 元素)。因此,尽管这些绑定在许多生产系统中使用,并用于构建流行的 Subversion 客户端,例如 Subclipse,但仍有大量工作要做。
绑定用户面临的另一个重大问题是 缺乏针对绑定的适当文档。
所需的技能
显示进度输出。
改进更新和提交期间显示的进度输出。有关详细信息,请参阅 问题 #901。
所需的技能
改进“svn help”。
目前,“svn help”命令显示的文本直接维护在“svn”二进制文件的主源代码文件中,可以在线查看 此处。已 提议 将这些帮助文本移到单独的文件格式中。
这将简化帮助文本翻译的维护,允许为每个“svn”子命令提供 UNIX 风格的手册页,并且可能还能够合并帮助文本和 参考部分 的 Subversion 手册。
还 建议 在“svn help”中添加教程模式,以便新用户在不事先查阅文档的情况下更容易上手 Subversion。
所需的技能
“svn diff” 的更多可定制行为。
添加对完全可定制的外部 diff 调用和对非文本类型的外部 diff 命令的支持。有关详细信息,请参阅 问题 #2044 和 问题 #2447。
所需的技能
“svn mergeinfo” 的 XML 输出
教 svn mergeinfo 创建 XML 输出。有关详细信息,请参阅 问题 #4245。
所需的技能
实现 'svnadmin unpack'
一旦 FSFS 仓库被压缩,它的分片大小就不能再更改。此外,它也不能从以后版本中的压缩改进中获益。
向 svnadmin 添加一个 unpack 子命令,将压缩的 FSFS 仓库还原回非压缩状态。仓库在解压缩过程中将处于脱机状态(与压缩实时仓库相反)。以后的改进可能包括 repack 和 reshard。
所需的技能
启用互操作性测试。
测试框架 (make check) 对使用不同客户端和服务器版本进行测试的支持有限(例如,1.8-dev 客户端和 1.7 服务器;反之亦然)。简化运行此类互操作性/兼容性测试的操作。理想情况下,还要为设置 构建从属服务器 定期运行这些测试奠定基础(我们将提供硬件)。
一个相关的目标是与旧的磁盘格式兼容,但在撰写本文时,作者认为 --server-minor-version 选项和 upgrade_tests.py 涵盖了所需内容。
所需的技能
以上都没有?在问题跟踪器中找到一个项目想法!
我们的 问题跟踪器 包含大量未完成的任务和未修复的错误。 可能相对容易修复的问题列表 是一个很好的起点。
有关如何贡献或与我们讨论您的贡献的更多信息,请联系 [email protected]
请注意,dev@ 列表是公开存档的,这意味着任何人都可以阅读发送到那里的任何信息,并且发送到那里的信息不能随后被删除。