NAME
plotchangelog - graph debian changelogs
SYNOPSIS
plotchangelog [options] changelog ...
DESCRIPTION
plotchangelog is a tool to aid in visualizing a Debian changelog. The
changelogs are graphed with gnuplot(1) , with the X axis of the graph
denoting time of release and the Y axis denoting the debian version
number of the package. Each individual release of the package is
represented by a point, and the points are color coded to indicate who
released that version of the package. The upstream version number of
the package can also be labeled on the graph.
Alternatively, the Y axis can be configured to display the size of the
changelog entry for each new version. Or it can be configured to
display approximately how many bugs were fixed for each new version.
Note that if the package is a debian-specific package, the entire
package version will be used for the Y axis. This does not always work
perfectly.
READING THE GRAPH
The general outline of a package's graph is typically a series of
peaks, starting at 1, going up to n, and then returning abruptly to 1.
The higher the peaks, the more releases the maintainer made between new
upstream versions of the package. If a package is debian-only, it's
graph will just grow upwards without ever falling (although a bug in
this program may cause it to fall sometimes, if the version number goes
from say, 0.9 to say, 0.10 - this is interpreted wrong..)
If the graph dips below 1, someone made a NMU of the package and
upgraded it to a new upstream version, thus setting the debian version
to 0. NMU's in general appear as fractional points like 1.1, 2.1, etc.
A NMU can also be easily detected by looking at the points that
represent which maintainer uploaded the package -- a solitary point of
a different type than the points before and after it is typically a
NMU.
It's also easy to tell by looking at the points when a package changes
maintainers.
OPTIONS
-l, --linecount
Instead of using the debian version number as the Y axis, use
the number of lines in the changelog entry for each version.
Cannot be used together with --bugcount.
-b, --bugcount
Instead of using the debian version number as the Y axis, use
the number of bugs that were closed by each changelog entry.
Note that this number is obtained by searching for "#dddd" in
the changelog, and so it may be inaccurate. Cannot be used
together with --linecount.
-c, --cumulative
When used together with either --bugcount or --linecount, graphs
the cumulative count rather than the count in each individual
changelog entry.
-v, --no-version
Do not show upstream version labels. Useful if the graph gets
too crowded.
-m, --no-maint
Do not differentiate between different maintainers of the
package.
-s file, --save=file
Save the graph to "file" in postscript format instead of
immediately displaying it.
-u, --urgency
Use larger points when displaying higher-urgency package
uploads.
--verbose
Output the gnuplot script that is fed into gnuplot (for
debugging purposes).
-gcommands,--gnuplot="commands
This allows you to insert gnuplot(1) commands into the gnuplot
script that is used to generate the graph. The commands are
placed after all initialization but before the final "plot"
command. This can be used to override the default look provided
by this program in arbitrary ways. You can also use things like
"set terminal png color" to change the output file type, which
is useful in conjunction with the -s option.
--help Show a usage summary.
--version
Display version, author and copyright information.
--noconf, --no-conf
Do not read any configuration files (see below).
changelog ...
The changelog files to graph. If multiple files are specified
they will all be display on the same graph. The files may be
compressed with gzip. Any text in them that is not in Debian
changelog format will be ignored.
CONFIGURATION VARIABLES
The two configuration files /etc/devscripts.conf and ~/.devscripts are
sourced by a shell in that order to set configuration variables. The
--no-conf option can be used to prevent reading these files.
Environment variable settings are ignored when these configuration
files are read. The currently recognised variables are:
PLOTCHANGELOG_OPTIONS
This is a space-separated list of options to always use, for
example "-l -b". Do not include "-g" or "--gnuplot" among this
list as it may be ignored; see the next variable instead.
PLOTCHANGELOG_GNUPLOT
These are gnuplot commands which will be prepended to any such
commands given on the command line.
SEE ALSO
devscripts.conf(5).
AUTHOR
Joey Hess <joey@kitenet.net>