现在是关注 Ruby 发展的绝佳时机。随着 Ruby 在过去几年中受到的关注越来越多,对优秀人才的需求也在不断增长,以帮助增强 Ruby 并记录其各个部分。那么,从哪里开始呢?
这里涵盖的与 Ruby 开发相关的主题有
使用 Git 跟踪 Ruby 开发
最新的 Ruby 源代码的主要存储库是 git.ruby-lang.org/ruby.git。在 GitHub 上也有一个镜像。通常,请使用此镜像。
您可以使用 Git 获取最新的 Ruby 源代码。从您的命令行
ruby
目录现在将包含 Ruby 开发版本(ruby-trunk)的最新源代码。
另请参阅 非提交者如何参与我们的开发。
如果您有提交权限,并且想要推送一些内容,则应使用主要存储库。
通过补丁改进 Ruby
核心团队维护一个 问题跟踪器,用于向 Matz 和他的团队提交补丁和错误报告。这些报告也会提交到 Ruby-Core 邮件列表进行讨论,因此您可以确保您的请求不会被忽视。您也可以直接将补丁发送到邮件列表。无论哪种方式,我们都鼓励您参与随后的讨论。
请查看 补丁编写者指南,其中包含 Matz 关于如何让您的补丁被考虑的一些建议。
总而言之,构建补丁的步骤是
-
从 GitHub 中检出 Ruby 源代码的副本。通常,针对错误修复或新功能的补丁应提交到 Ruby 源代码的主干。
$ git clone https://github.com/ruby/ruby.git
如果您正在修复仅特定于一个维护分支的错误,请检出相应分支的副本。
$ git checkout ruby_X_X
X_X 应替换为您要检出的版本。
-
将您的改进添加到代码中。
-
创建一个补丁。
$ git diff > ruby-changes.patch
-
在 问题跟踪器 中创建一个工单,或将您的补丁通过电子邮件发送到 Ruby-Core 邮件列表,并附带一个 ChangeLog 条目描述该补丁。
-
如果没有关于该补丁的问题被提出,提交者将被批准应用它。
请注意:补丁应以 统一差异 的形式提交。有关如何合并补丁的更多信息,请参阅 diffutils 参考。
关于 Ruby 开发的讨论集中在 Ruby-Core 邮件列表。因此,如果您好奇您的补丁是否值得,或者您想引发关于 Ruby 未来的讨论,请毫不犹豫地加入。请注意,此列表不允许离题的讨论,噪音水平应非常低,主题应明确、构思周全且书写良好。既然我们是在和 Ruby 的创造者对话,让我们保持一些敬畏之心。
请记住,许多 Ruby 的核心开发人员都住在日本,虽然他们中的许多人英语说得很好,但存在明显的时区差异。他们还有一整套与英语邮件列表并行的日语开发列表。请耐心,如果您的请求未得到解决,请坚持下去——几天后再试一次。
关于分支的说明
Ruby 的源代码在 2019 年 4 月 22 日之前一直由 Subversion 存储库管理。因此,某些分支可能仍由 Subversion 管理。您可以查看 SVN 存储库。
但是,您不必关心它(除非您是分支维护者)。您可以在 Git 工作副本中检出分支。例如,运行以下命令。
X_X 应替换为您要检出的版本。
如果要修改分支,请在我们的 问题跟踪器 中打开一个问题。另请参阅以下部分。