Crates.io | clmerge |
lib.rs | clmerge |
version | 0.1.2 |
source | src |
created_at | 2019-02-12 16:18:54.160427 |
updated_at | 2019-02-12 18:08:59.695763 |
description | Opinionated, simple changelog merger |
homepage | |
repository | https://github.com/torkleyy/clmerge |
max_upload_size | |
id | 114309 |
size | 25,950 |
clmerge
Opinionated, simple changelog merger
Never rebase your CHANGELOG.md
again.
When submitting Pull Requests, only one file needs to be created in order to create a changelog entry.
The new changelog gets created using the clmerge
command and will be stored
as CHANGELOG.md
.
(You can also look at the changelog directory to see how it works.)
changelog
directoryclmerge
expects a changelog
directory in the current directory.
Inside it, the following files shall be placed:
header.md
(Optional): will be inserted at the topold.md
(Optional): will be appended at the endconfig.ron
(Optional): RON config fileEvery other file will be ignored.
Every directory inside changelog
is expected to be
a valid semver
version (e.g. 0.5.1
or 1.0.0-alpha
. Such a folder is called a "version directory".
Inside every version directory, an arbitrary number of category directories
can be placed (e.g. added
, removed
, changed
, fixed
).
In the final CHANGELOG.md
, all categories will start with a capital letter.
Inside the category directories, an arbitrary number of entries is expected.
The content of the files will be trimmed and concatenated, with \n
after every
entry.
File tree:
├── 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
(your old CHANGELOG):
## 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])
Output (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
This project is dual-licensed under MIT / Apache-2.0.