clog
A conventional changelog for the rest of us
Usage
USAGE:
clog [FLAGS] [OPTIONS]
FLAGS:
--from-latest-tag use latest tag as start (instead of --from)
-h, --help Prints help information
--major Increment major version by one (Sets minor and patch to 0)
--minor Increment minor version by one (Sets patch to 0)
--patch Increment patch version by one
-v, --version Prints version information
OPTIONS:
--from <from> e.g. 12a8546
-o, --outfile <outfile> Where to write the changelog (Defaults to 'changelog.md')
-r, --repository <repository> e.g. https://github.com/thoughtram/clog
--subtitle <subtitle> e.g. crazy-release-title
--to <to> e.g. 8057684 (Defaults to HEAD when omitted)
--setversion <ver> e.g. 1.0.1
Try it!
-
Clone the repo
git clone https://github.com/thoughtram/clog && cd clog
-
Build clog
cargo build --release
-
Delete the old changelog file
rm changelog.md
-
Run clog
./target/release/clog -r https://github.com/thoughtram/clog --setversion 0.1.0 --subtitle crazy-dog --from 6d8183f
Default Options
clog
can also be configured using a default configuration file so that you don't have to specify all the options each time you want to update your changelog. To do this add a .clog.toml
file to your repository.
[]
= "https://github.com/thoughtram/clog"
= "my awesome title"
# sets the changelog output file, defaults to "changelog.md" if omitted
= "MyChangelog.md"
# If you use tags, you can set the following if you wish to only pick
# up changes since your latest tag
= true
Now you can update your changelog.md
with clog --patch
(assuming you want to update from the latest tag version, and increment your patch version by 1).
Note: Any options you specify at the command line will override options set in your .clog.toml
Custom Sections
When using a .clog.toml
file you can add your own custom sections to show up in your changelog.md
. Add a [sections]
table, along with the sections and aliases you'd like to use:
[]
= ["mysec", "ms"]
Now if you make a commit message such as mysec(Component): some message
or ms(Component): some message
there will be a new "MySection" section along side the "Features" and "Bug Fixes" areas.
NOTE: Sections with spaces are suppported, such as "My Special Section" = ["ms", "mysec"]
LICENSE
clog is licensed under the MIT Open Source license. For more information, see the LICENSE file in this repository.