git-dch

Name

git-dch -- Generate the Debian changelog from git commit messages

Synopsis

git-dch [--verbose] [--debian-branch=branch_name] [--debian-tag=tag-format] [--since=commitish] [--snapshot] [--release] [--auto] [--full] [--meta] [--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

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:.

--full

Include the full commit message in the changelog output

--snapshot

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

Remove any snapshot release banners and version suffixes, set the current distribution to unstable and open the changelog for final tweaking.

--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.

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

.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), git_load_dirs(1), pristine-tar(1), The Git-Buildpackage Manual

AUTHOR

Guido Guenther