git-dch − Generate the Debian changelog from git commit messages
git-dch [ --verbose ] [ --debian-branch=branch_name ] [ --debian-tag=tag-format ] [ --since=commitish ] [ --snapshot ] [ --release ] [ --auto ] [ --full ] [ --meta ] [ --meta-closes=bug-close-tags ] [ --snapshot-number=expression ] [ --git-log=git-log-options ] [path1 path2]
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".
--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 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.
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.
git-buildpackage(1), git-import-dsc(1), git-import-dscs(1), git-import-orig(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>
Guido Guenther <agx AT sigxcpu DOT org>