git-dch(1)
NAME
git-dch - Generate the Debian changelog from git commit messages
SYNOPSIS
git-dch [ --verbose ] [ --debian-branch=branch_name ] [ --debiantag=tag-format ] [ --since=commitish ] [ --snapshot ] [ --release ] [ --auto ] [ --full ] [ --meta ] [ --meta-closes=bug-close-tags ] [ --snapshot-number=expression ] [ --git-log=git-log-options ] [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.
- --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).
- --meta Parse meta tags like Closes: and Thanks:.
- --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 an Launchpad
- --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 enty. Default is to not include any commit ids at all.
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 gitdch 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-importorig(1), debuild(1), git(1), git_load_dirs(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>