ADECH(1) General Commands Manual ADECH(1)
NAME
adech - update a ChangeLog
SYNOPSIS
adech [ -V | --version ] [ -v | --verbose | -d level | --debug=level ]
[ -h | --help ] [ -p | --paths ] [ -n | --simulate ] [ --program=pro-
gram-name ] [ --comment="comment-text" ] { --bump-{bug|feature|rewrite}
| --check-{released|unreleased} | --finalise } ChangeLog-file
DESCRIPTION
Adech updates, checks or finalises release stanzas in ChangeLog files.
It is intended to enforce a strict and machine-parsable format for
ChangeLogs. It was inspired by dch(1), which provides a similar pur-
pose for Debian packages' changelog files.
The path to the ChangeLog file must be specified on the command line.
Adech takes care of deciding new version numbers, based on whether a
release is to address a bug, the addition of a new feature, or for a
total rewrite of the code. For this reason, adech generates version
numbers of the form X.Y.Z, where Z, or Z and Y may be missing, depend-
ing on which component was incremented most recently. The first ver-
sion is version 0.
CONFIGURATION
ChangeLog-file must exist. If it does not then create it by running:
touch ChangeLog-file
OPTIONS
-d level, --debug=level Determines how verbose this program will be.
The message types displayed for the different
values of level are as follows: 0 displays no
messages; 1 displays only errors, 2 displays
errors and warnings; 3 displays errors, warn-
ings and informational messages; higher values
display errors, warnings, informational mes-
sages and various messages intended for debug-
ging. The default is 2.
-h, --help Displays a brief usage message.
-p, --paths Lists the compiled-in paths of various files
and directories that this program uses. -n,
--simulate Some external commands that this
program runs may be displayed rather than ac-
tually executed. BEWARE: different programs
implement different levels of simulation; so
this option may work perfectly; on the other
hand it may do nothing at all!
-v, --verbose Equivalent to -d 3.
-V, --version Prints the program's version number and exits.
--bump-bug Check that ChangeLog-file is in a 'soon-to-be-
released' state and then create a new release
stanza in with the last component of the ver-
sion number incremented. I.e. the version
changes from X.Y.Z to X.Y.Z+1, thereby putting
ChangeLog-file in a 'soon-to-be-released'
state.
--bump-feature Check that ChangeLog-file is in a 'soon-to-be-
released' state and then create a new release
stanza in with the middle component of the
version number incremented. I.e. the version
changes from X.Y.Z to X.Y+1, thereby putting
ChangeLog-file in a 'soon-to-be-released'
state.
--bump-rewrite Check that ChangeLog-file is in a 'soon-to-be-
released' state and then create a new release
stanza in with the first component of the ver-
sion number incremented. I.e. the version
changes from X.Y.Z to X+1, thereby putting
ChangeLog-file in a 'soon-to-be-released'
state.
--program=program-name If ChangeLog-file is empty then adech cannot
derive the name of the program that owns it.
In that case this option must be provided to
declare the name of the program.
--comment="comment-text" The specified comment text will be written
into the changelog entry. The default comment
is "please change this text!".
--check-unreleased Check that ChangeLog-file is in an unreleased
state; this is determined by examining the
first line of the file and checking that it is
formatted correctly and contains the word UN-
RELEASED in the right place. This option is
primarily intended for inclusion in build
scripts.
--check-released Check that ChangeLog-file is in an 'soon-to-
be-released' state; this is determined by ex-
amining the first line of the file and check-
ing that it is formatted correctly and does
not contain the word UNRELEASED in the right
place. This option is primarily intended for
inclusion in build scripts.
--finalise Check that the ChangeLog-file is in an unre-
leased state, remove the word UNRELEASED and
update the date in the first line.
EXIT STATUS
On success adech returns zero. On failure it returns non-zero and dis-
plays a diagnostic message.
FILES
None.
ENVIRONMENT VARIABLES
None.
EXAMPLES
The following sets up the ChangeLog file for the first ever release:
touch ChangeLog
adech --bump-rewrite ChangeLog
(Actually, whether --bump-rewrite, --bump-feature, or --bump-bug is
used is irrelevant; the first release is always release 0.)
Once the code has been written and tested and is ready to be released
then the ChangeLog might be finalised by running:
adech --finalise ChangeLog
After this one might prepare the tar.gz source bundle, perhaps using
adebun(1).
CAVEATS
The number of components in a version number depends very much on local
policy. Adech uses three-component version numbers because this is the
author's own preference. Adherence to a user-specified policy will be
implemented at a future date.
STANDARDS
This manual page documents version ADE_APP_TOKEN_RELEASE_ID of adech.
SEE ALSO
ade-config(1), adebun(1), dch(1), touch(1)
AUTHOR
ADE_APP_TOKEN_AUTHOR_NAME <ADE_APP_TOKEN_AUTHOR_EMAIL>
COPYRIGHT & DISTRIBUTION POLICY
Copyright (C) 2011-ADE_APP_TOKEN_RELEASE_YEAR ADE_APP_TOKEN_AUTHOR_NAME
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MER-
CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
675 Mass Ave, Cambridge, MA 02139, USA.
ADE_APP_TOKEN_RELEASE_DATE_MAN ADECH(1)