4个版本 (2个重大更新)
使用旧的Rust 2015
0.3.1 | 2018年2月8日 |
---|---|
0.3.0 | 2017年9月11日 |
0.2.0 | 2017年7月27日 |
0.1.0 | 2017年2月10日 |
在开发工具中排名第2317
14KB
240 行
changelog-rs
一个简单的基于Rust的CHANGELOG.md生成工具。
程序使用git元数据(标签和提交信息)生成变更日志。在GitHub上使用“合并时合并”或“合并时变基”流程时效果尤其出色。前者是在你想要在合并时将功能分支上的所有提交压缩到基分支上的单个提交时使用的,后者是在你可能已经手动变基了你的功能分支,并希望保留这些单个提交(因为它们可能涉及到修复两个不同的错误,或者任何其他东西)时使用的。
如果使用的是“传统”合并模式,该工具将无法很好地工作,在这种模式下,所有PR合并都保留其单个提交,并添加一个额外的“合并提交”,对我来说,这没有任何价值,除了使版本历史记录变得混乱。我强烈反对任何人使用这种合并模式;它迫使所有其他参与项目的人看到一个包含更多细节的版本历史记录,这些细节在长期来看几乎是毫无用处的。你关心的是什么发生了变化以及谁做出了这些更改。如果你需要比这更多的详细信息,GitHub网页界面提供了更多详细信息(比如,PR内部的讨论以及合并前的历史,包括单个提交)。
如果你在项目上遇到了“传统”合并模式,你仍然可以使用该工具。只是它的输出将因为保留了所有单个提交以及每个PR的一个额外的合并提交而变得不那么易读。
先决条件
# This downloads the rust toolchain. You can omit this step if you already have a suitable Rust version installed.
curl https://sh.rustup.rs -sSf | sh
如何安装
$ cargo install changelog-rs
然后你会在路径中有一个changelog-rs
,你可以这样运行
# If you want to generate a changelog entry for a particular version (from-revision and to-revision can be any git ref, i.e. a tag
# or a git commit SHA etc.
$ changelog-rs <repo> <from-revision> <to-revision>
# If you want to generate changelog entries for all versions that are tagged with SemVer compliant tags.
$ changelog-rs <repo>
如何构建和运行
# Same parameter modes as above can be used.
cargo run <repo> <from-revision> <to-revision>
cargo run <repo>
期望的“SemVer兼容标签”的格式为0.1.0
或v0.10
(后者的格式在某些社区中很常见。)
依赖项
~4.5MB
~85K SLoC