我能以某种方式找到更多关于 GNU coreutils 命令开发过程的历史吗?例如,有su
和runuser
(提供有点儿类似的功能,但决定分为两个命令)总是共存,还是一个先于另一个?我真的不知道从哪里开始寻找。info runuser
在我的 Ubuntu 18.04 上有
2014年7月
在页面底部。我想这个日期与info
页面的编写或修改时间有关,因为runuser
它本身当然必须要老得多。所以那里或页面上没有运气man
。链接的 GNU 网站对我来说显得很混乱,但也许我只是无法正确浏览它。
我只选择了su
和runuser
作为例子。我对所有 GNU coreutils 开发都很感兴趣。
我应该从哪里开始寻找?什么是好资源?文档甚至存在那么久远吗?
答案1
要跟踪更大的开发项目,您可以执行以下操作:
- 注册该项目的邮件列表并关注当前的讨论。有时既有用户列表,也有开发人员列表。您不需要向列表发送消息,您只需潜伏并阅读人们在说什么,并观察如何讨论事情以及如何做出决定。我还倾向于注册提交消息列表和错误邮件列表(如果这些可用于订阅1 )。一段时间后,您将开始了解频繁贡献者的姓名,这在稍后阅读提交消息时可能会很有用。
- 深入研究邮件列表档案(如果有的话)。有时这些甚至可以搜索,所以你可以用它来进行某种程度上的历史研究。
- 从其所在位置查看源代码,然后构建它(您实际上不必安装它)。如果您对历史感兴趣,请查看更改日志或“新闻”文件。如果您想要进行源代码级别的检查或比较,请了解如何检查项目的特定修订、日期或标签。读取提交消息。
GNU coreutils“主页”位于https://www.gnu.org/software/coreutils/coreutils.html
该页面上列出了可用的邮件列表,并且有可搜索邮件档案的链接。
该项目有一个 Github 存储库,位于https://github.com/coreutils/coreutils您可以轻松地使用它来获取任何版本(请注意,代码取决于gnulib
子模块)。您还可以“监视”Github 存储库,以便在进行新提交时获取电子邮件通知(这相当于注册提交邮件列表)。我相信,这也会让您收到通过 Github 完成的问题报告的副本(有一个单独的错误报告邮件地址,因此在 Github 上发布的问题可能会被忽略)。
根据您想了解更多有关项目历史的信息,NEWS
文件对于这个特定的项目来说,Github 存储库中的内容可能是任何历史相关研究的良好第一步。
至于su
和runuser
...
su
于 2012 年从 coreutils 中删除。这是通过搜索以下输出找到的git log
:
commit 928dd73762e69cfeaab4a7ec9dd8f30f86a45ed4
Author: Jim Meyering <[email protected]>
Date: Fri May 25 18:10:25 2012 +0200
su: remove program (util-linux is now the best source for it)
[...]
runuser
我在 Github 提交日志中没有发现 coreutils 的提及。我怀疑它引用 coreutils 只是因为它是“精简版本su
”,用过的成为 coreutils 的一部分。
1这意味着我每周会收到大约 2000-4000 封关于我感兴趣的项目的电子邮件,其中大多数我只阅读标题,即使是这样,但有时即使在提交消息中也有有趣的事情。