The changelog package provides a command-line interface and API
for creating, modifying, and formatting software changelogs. The base changelog
command is broken into a number of subcommands which are documented over the following
sections.
changelog: Main: INFO: Usage: changelog [options] [command] [command options]
Options:
--verbose
Set the minimum logging verbosity level.
Default: info
Possible Values: [trace, debug, info, warn, error]
Use the "help" command to examine specific commands:
$ changelog help help.
Command-line arguments can be placed one per line into a file, and the file
can be referenced using the @ symbol:
$ echo help > file.txt
$ echo help >> file.txt
$ changelog @file.txt
Commands:
change-add Add a change to the current release.
help Show detailed help messages for commands.
initialize Initialize the changelog.
release-begin Start the development of a new release.
release-current Display the version number of the current release.
release-finish Finish a release.
release-set-version Set the version number of the current release.
version Retrieve the program version.
write-atom Generate an atom feed.
write-plain Generate a plain text log.
write-xhtml Generate an XHTML log.
Documentation:
https://www.io7m.com/software/changelog/documentation/
All subcommands accept a --verbose parameter that may be set to one of
trace, debug, info,
warn, or error. This parameter sets the lower bound for
the severity of messages that will be logged. For example, at debug verbosity, only
messages of severity debug and above will be logged. Setting the verbosity to
trace
level effectively causes everything to be logged, and will produce large volumes of
debugging output.
Name |
Description |
trace
|
All messages greater than or equal to trace level (highest) |
debug
|
All messages greater than or equal to debug level |
info
|
All messages greater than or equal to info level |
warn
|
All messages greater than or equal to warn level |
error
|
All messages greater than or equal to error level |
The
changelog command-line tool uses
jcommander
to parse command-line arguments, and therefore supports placing command-line arguments
into a file,
one argument per line, and then referencing that file with
@. For example:
$ (cat <<EOF
--file
README-CHANGES.xml
--ticket-system-name
com.github.io7m.changelog.test
--ticket-system-uri
https://www.github.com/io7m/changelog/issues/
--project
com.io7m.changelog.test
EOF
) > args.txt
$ changelog initialize @args.txt
All subcommands, unless otherwise specified, yield an exit code of 0 on success, and
a non-zero exit code on failure.