NAME
git-dch - Generate the Debian changelog from git commit messages
SYNOPSIS
git-dch [ --verbose ] [ --debian-branch=branch_name ] [ --debian-
tag=tag-format ] [ --ignore-branch ] [ --since=commitish ] [ --snapshot
] [ --release ] [ --auto ] [ --[no-]full ] [ --[no-]meta ] [ --meta-
closes=bug-close-tags ] [ --snapshot-number=expression ] [ --git-
log=git-log-options ] [ --[no-]git-author ] [ --[no-]multimaint-merge ]
[path1 path2]
DESCRIPTION
git-dch reads git commit messages and generates the Debian changelog
from it. If no arguments are given git-dch starts from the last tagged
Debian package version up to the current tip of the current branch. If
the distribution of the topmost section in debian/changelog is
UNRELEASED the changelog entries will be inserted into this section.
Otherwise a new section will be created.
If --auto is given git-dch tries to guess the last Git commit
documented in the changelog - this only works in snapshot mode.
Otherwise --since can be used to tell git-dch at which point it should
start in the Git history.
The additional path arguments can be used to restrict the repository
paths git-dch looks at. Setting path to debian/ is a good choice if
upstream uses Git and all Debian packaging changes are restricted to
the debian/ subdir. In more sophisticated cases (like backports) you
can use --git-log to restrict the generated changelog entries further.
E.g. by using --git-log="--author=Foo Bar".
OPTIONS
--debian-branch=branch_name
The branch in the Git repository the Debian package is being
developed on, default is master.
--ignore-branch
Don't check if the current branch matches debian-branch.
--verbose
-v verbose execution
--debian-tag=tag-format
tag format used, when tagging debian versions, default is
debian/<version>
--since=committish
Start reading commit messages at committish.
--auto, -a
Guess the last commit documented in the changelog from the
snapshot banner (or from the last tag if no snapshot banner
exists).
--[no-]meta
Parse meta tags like Closes:, Thanks: and Git-Dch:.
--meta-closes=bug-close-tags
What meta tags to look for to generate bug-closing changelog
entries. The default is 'Closes|LP' to support Debian and
Launchpad.
--[no-]full
Include the full commit message in the changelog output.
--snapshot, -S
Create a snapshot release entry. This adds a snapshot release
number and a warning banner to the changelog entry. The release
version number is being autoincremented with every new snapshot
release to avoid packages downgrades during snapshot testing.
--snapshot-number=expression
Python expression that gets eval()ed to the new snapshot number.
--release, -R
Remove any snapshot release banners and version suffixes, set
the current distribution to unstable and open the changelog for
final tweaking.
--new-version=version, -N version
Add a new changelog section with version newversion. Together
with --snapshot the snapshot number will be appended to
newversion.
--git-log=git-log-options
Options passed on verbatim to git-log(1).
--id-length=N
Include N digits of the commit id in the changelog entry.
Default is to not include any commit ids at all.
--ignore-regex=regex
Ignore commit lines matching regex when generating the
changelog.
--git-author
Use user.name and user.email from git-config(1) for changelog
trailer.
--[no]-multimaintmerge
Merge commits by maintainer.
SNAPSHOT MODE
Snapshot mode can be used for quick test and install cycles without
having to worry about version numbers or changelog entries.
When using --snapshot or -S git-dch uses a pseudo header in the Debian
changelog to remember the last git commit it added a changelog entry
for. It also sets a version number ending in
~<snaspshotnumber>.gbp<commitid>. It automatically increments the
snapshot number on subsequent invocations of git-dch -S so that later
snapshots automatically have a higher version number. To leave snapshot
mode invoke git-dch with the --release option. This removes the pseudo
heaader and unmangles the version number so the released version has a
higher version number than the snapshots.
CONFIGURATION FILES
Four configuration files are parsed to set defaults for the above
commandline arguments:
/etc/git-buildpackage/gbp.conf
system wide configuraton
~/.gbp.conf
per user configuration
.gbp.conf
per branch configuration, can be published with the repository
debian/gbp.conf
per branch configuration, can be published with the repository
.git/gbp.conf
per repository configuration
See /etc/git-buildpackage/gbp.conf for an example.
SEE ALSO
git-buildpackage(1), git-import-dsc(1), git-import-dscs(1), git-import-
orig(1), debuild(1), git(1), pristine-tar(1), The Git-Buildpackage
Manual <URL:file:///usr/share/doc/git-buildpackage/manual-
html/index.html> Cl2vcs <URL:https:///honk.sigxcpu.org/cl2vcs>
AUTHOR
Guido Guenther <agx@sigxcpu.org>
05 September 2010