第 22.3 节 如何参与 FreeBSD 协作

翻译文档,提交 port 都是不错的方法,提交个 bug 也是好主意。

首先需要阅读一下:https://wiki.freebsd.org/Phabricator

里面说得很清楚了。需要先注册一个账号……关联 github 也是可以的。但是你的用户名会变得比较奇怪就是说……

代码的问题比较简单的解决方案就是用 github fork 原来的代码为主分支 A,保持不变,再创建一个新分支 B,用来开发修改之类的。

这样修改或者开发完成以后,将 A 分支 B 分支都同步到最新状态(网页上就有更新的按钮按一下即可),然后在分支 B 下执行命令:

$ git pull # A B 分支下都需要执行。
$ git diff -U999999 origin/A > 2023-1-24.diff

这样把在分支 B 的根目录下生成的 .diff 文件上传到上面那个链接中 (字很小,仔细在右上角看一下),点右上角的 create 并填写完相关信息,进行审阅即可。

这个方法是我认为最简单的方法了。需要注意的是一次不要改太多……

提交完毕后,新建一个 https://bugs.freebsd.org/bugzilla 说明自己的修改地方,附上 https://reviews.freebsd.org 的链接,完成后,返回来在 https://reviews.freebsd.org 附上刚才的 bug 页面的链接。(不这样做的话可能很长时间没有人搭理你)

diff 是不会被认为是修改所产生文件的,下次 diff 时也不需要提前删除上一次留下的 diff 文件。

以上适用于 FreeBSD doc src 与 ports,还有少部分是在 github 上操作的,比如季刊报告。

与封闭的 Linux 内核开发不同,任何人都可以参与修改 FreeBSD 的源代码。Linux 内核开发是需要发邮件给 Linux 内核中一个脚本执行的结果产生的邮件名单的,需要有人接受才可以。

一些可能用得到的命令:

  • 设置代理:

$ git config --global http.proxy http://192.168.1.169:7890
  • 查看所有分支

$ git branch -a
  • 切换到 A 分支

$ git checkout A

最后更新于