3个版本
0.1.2 | 2019年2月12日 |
---|---|
0.1.1 | 2019年2月12日 |
0.1.0 | 2019年2月12日 |
#5 in #merger
每月 33 次下载
14KB
258 行代码(不包括注释)
clmerge
有偏见的、简单的变更日志合并器
永远不再重新基 CHANGELOG.md
。
工作原理
在提交拉取请求时,只需要创建一个文件来创建变更日志条目。
使用 clmerge
命令创建新的变更日志,并存储为 CHANGELOG.md
。
文件结构
(您也可以查看 变更日志目录 以了解其工作方式。)
changelog
目录
clmerge
期望当前目录中存在一个 changelog
目录。其中应放置以下文件
header.md
(可选):将在顶部插入old.md
(可选):将在末尾附加config.ron
(可选):RON 配置文件
其他任何文件都将被忽略。
版本目录
changelog
内的每个目录都应是一个有效的 semver 版本(例如 0.5.1
或 1.0.0-alpha
。这样的文件夹称为“版本目录”。
类别目录
在每个版本目录内,可以放置任意数量的类别目录(例如 added
、removed
、changed
、fixed
)。
在最终的 CHANGELOG.md
中,所有类别都将以大写字母开头。
条目文件
在类别目录内,期望有任意数量的条目。
文件的内容将被修剪并连接,每个条目后跟一个 \n
。
示例
文件树
├── changelog
│ ├── 0.1.0
│ │ └── added
│ │ └── general.md
│ ├── 0.2.0
│ │ ├── added
│ │ │ ├── feature-bar.md
│ │ │ └── feature-baz.md
│ │ └── changed
│ │ └── foo.md
│ ├── header.md
│ └── old.md
└── CHANGELOG.md
header.md
:
# Changelog
old.md
(您的旧变更日志)
## 0.0.0
This is the old Changelog
* Did something
config.ron
:
(
// This will be used to insert links for `[#123]` entries
// `[#123]` becomes `[#123](https://github.com/user/repo/issues/123)`
pull_request_prefix: "https://github.com/user/repo/issues/",
)
feature-baz.md
:
* Added feature baz ([#123])
输出 (CHANGELOG.md
)
<!-- This file is auto-generated. Do not edit. -->
# Changelog
## 0.2.0
### Changed
* Changed behavior of `Foo::foo`
### Added
* Added feature baz ([#123](https://github.com/user/repo/issues/123))
* Added feature bar
## 0.1.0
### Added
* General functionality for merging changelog entries
## 0.0.0
This is the old Changelog
* Did something
安装
cargo install clmerge
许可证
此项目采用 MIT / Apache-2.0 许可双授权。
依赖关系
~3.5–5MB
~95K SLoC