变更日志更新
如果您想帮助更新变更日志,那么您来对地方了。
何时更新
我们总是欢迎错别字和其他小的修复/添加。
当为新的 Rust 版本更新变更日志时,需要特别注意。为此,变更日志最好在即将发布的稳定版本的前一周更新。您可以在Rust Forge上找到发布日期。
大多数情况下,我们只需要更新 Rust 次要版本的变更日志。Clippy 的更改很少包含在补丁版本中。
变更日志更新步骤
1. 查找相关的 Clippy 提交
每个 Rust 版本都附带自己的 Clippy 版本。Clippy 子树可以在 Rust 仓库的 tools
目录中找到。
根据当前时间和您要更新的具体内容,以下几点可能会有所帮助
- 当为即将发布的稳定版本编写发行说明时,您需要检查当前 Rust
beta
分支的 Clippy 提交。链接 - 当为即将发布的 beta 版本编写发行说明时,您需要检查当前 Rust
master
的 Clippy 提交。链接 - 当为过去的稳定版本编写(遗忘的)发行说明时,您需要检查稳定版本的 Rust 发行标签。链接
通常,您想要编写即将发布的稳定版本的变更日志。请确保 Rust 仓库中的 beta
分支已经创建。
要查找提交哈希值,请在 rust-lang/rust
的检出中发出以下命令
git log --oneline -- src/tools/clippy/ | grep -o "Merge commit '[a-f0-9]*' into .*" | head -1 | sed -e "s/Merge commit '\([a-f0-9]*\)' into .*/\1/g"
2. 获取这些提交之间的 PR
一旦您获得了正确的提交范围,请运行
util/fetch_prs_between.sh commit1 commit2 > changes.txt
并在您选择的编辑器中打开该文件。
更新变更日志时,最好也要确保 commit1
在当前的变更日志中是正确的。
3. 编写最终的变更日志
上面的脚本应该将所有相关的 PR 转储到您指定的文件中。它应该已经过滤掉了大多数不相关的 PR,但最好进行一次手动清理,查找更多不相关的 PR。如果您对某些 PR 不确定,只需将其保留在审查中并寻求反馈。
过滤掉 PR 后,您可以开始获取每个 PR,并将 changelog:
内容移动到 CHANGELOG.md
。根据您的理解调整措辞,但尽量保持连贯性。
顺序大致应为
- 新的 lint
- lint 的移动或弃用
- 扩展现有 lint 覆盖的代码的更改
- 误报修复
- 建议修复/改进
- ICE 修复
- 文档改进
- 其他
我们使用以下内容作为节标题
### New Lints
### Moves and Deprecations
### Enhancements
### False Positive Fixes
### Suggestion Fixes/Improvements
### ICE Fixes
### Documentation Improvements
### Others
请务必使用相关的提交范围更新顶部的 Beta/未发布部分。
3.1 包括 beta-accepted
PR
查找beta-accepted
标签,并确保还将带有该标签的 PR 包括在变更日志中。如果可以,请在变更日志 PR 合并后删除 beta-accepted
标签。
注意:其中一些 PR 甚至可能会被反向移植到之前的
beta
版本。这些必须包含在上一个版本的变更日志中。
4. 更新 clippy::version
属性
接下来,请务必检查添加的 lint 的 #[clippy::version]
属性是否包含正确的版本。