mirror of
https://github.com/drewcassidy/yaclog.git
synced 2024-09-01 14:58:58 +00:00
drewcassidy
66bc8509e3
### Changed - API changes: - `header` attribute renamed to `preamble` to avoid confusion. - improved version header parsing to be more robust and handle multi-word version names. - improved version number incrementing in `release`. - can now handle other text surrounding a pep440-compliant version number, which will not be modified - can now handle pre-releases correctly. The version to increment is the most recent version in the log with a valid pep440 version number in it. - Release increment and prerelease increments can be mixed, allowing e.g: `yaclog release -mr` to create a release candidate with in incremented minor version number. - `release` base version is now an argument instead of an option, for consistency with other commands. ### Removed - `entry` with multiple `-b` options no longer add sub bullet points, instead adding each bullet as its own line. ### Added - Terminal output has color to distinguish version names/headers, sections, and git information. - Extra newlines are added between versions to improve readability of the raw markdown file.
79 lines
1.9 KiB
Markdown
79 lines
1.9 KiB
Markdown
# Yaclog
|
|
|
|
[![Documentation Status](https://readthedocs.org/projects/yaclog/badge/?version=latest)](https://yaclog.readthedocs.io/en/latest/?badge=latest)
|
|
[![Build Status](https://github.com/drewcassidy/yaclog/actions/workflows/python-publish.yml/badge.svg)](https://github.com/drewcassidy/yaclog/actions/workflows/python-publish.yml)
|
|
[![PyPI version](https://badge.fury.io/py/yaclog.svg)](https://badge.fury.io/py/yaclog)
|
|
|
|
Yet another changelog command line tool
|
|
|
|
![a yak who is a log](https://github.com/drewcassidy/yaclog/raw/main/logo.png)
|
|
|
|
*Logo by Erin Cassidy*
|
|
|
|
## Installation
|
|
|
|
Install and update using [pip](https://pip.pypa.io/en/stable/quickstart/):
|
|
|
|
```shell
|
|
$ pip install -U yaclog
|
|
```
|
|
|
|
## Usage
|
|
|
|
For usage from the command line, yaclog provides the `yaclog` command:
|
|
```
|
|
Usage: yaclog [OPTIONS] COMMAND [ARGS]...
|
|
|
|
Manipulate markdown changelog files.
|
|
|
|
Options:
|
|
--path FILE Location of the changelog file. [default: CHANGELOG.md]
|
|
--version Show the version and exit.
|
|
--help Show this message and exit.
|
|
|
|
Commands:
|
|
entry Add entries to the changelog.
|
|
format Reformat the changelog file.
|
|
init Create a new changelog file.
|
|
release Release versions.
|
|
show Show changes from the changelog file
|
|
tag Modify version tags
|
|
```
|
|
|
|
### Example workflow
|
|
|
|
Create a new changelog:
|
|
```shell
|
|
$ yaclog init
|
|
```
|
|
|
|
Add some new entries to the "Added" section of the current unreleased version:
|
|
```shell
|
|
$ yaclog entry -b 'Introduced some more bugs'
|
|
$ yaclog entry -b 'Introduced some more features'
|
|
```
|
|
|
|
Show the current version:
|
|
|
|
```shell
|
|
$ yaclog show
|
|
```
|
|
```
|
|
Unreleased
|
|
|
|
- Introduced some more bugs
|
|
- Introduced some more features
|
|
```
|
|
|
|
Release the current version and make a git tag for it
|
|
|
|
```shell
|
|
$ yaclog release 0.0.1 -c
|
|
```
|
|
```
|
|
Renamed version "Unreleased" to "0.0.1".
|
|
Commit and create tag for version 0.0.1? [y/N]: y
|
|
Created commit a7b6789
|
|
Created tag "0.0.1".
|
|
```
|