&dhemail;
&dhfirstname;
&dhsurname;
gbp-dch
&dhsection;
git-dch;gbp-dch;Generate the Debian changelog from git commit messages
&gbp-dch;
&man.common.options.synopsis;
branch_nametag-formattag-formatcommitishversionnamelevelexpressionnumbergit-log-optionsmsg-formatcustomization-file[path1 path2]DESCRIPTION
&gbp-dch; reads git commit messages and generates the Debian changelog from
it. If no arguments are given &gbp-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 is given &gbp-dch; tries to guess the
last &git; commit documented in the changelog - this only works in snapshot
mode. Otherwise can be used to tell &gbp-dch;
at which point it should start in the &git; history.
The additional path arguments can be used to restrict the repository paths
&gbp-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 to restrict the
generated changelog entries further. E.g. by using
"--author=Foo Bar".
OPTIONS
&man.common.options.description;
=branch_name
The branch in the Git repository the Debian package is being
developed on, default is master.
Don't check if the current branch matches
debian-branch.
tag-format
tag format used, when tagging debian versions,
default is debian/%(version)scommittish
Start reading commit messages at
committish.
,
Guess the last commit documented in the changelog from the
snapshot banner (or from the last tag if no snapshot banner exists).
Parse meta tags like ,
and . See META TAGS
below.
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.
Include the full commit message in the changelog output.
,
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 auto incremented with every new snapshot
release to avoid packages downgrades during snapshot testing.
expression
Python expression that gets eval()ed to the new snapshot number.
,
Remove any snapshot release banners and version suffixes, set
the current distribution to unstable and
open the changelog for final tweaking.
version,
version
Add a new changelog section with version
newversion. Together with
the snapshot number will be appended to
newversion.
Create a Team upload changelog entry.
Increment the Debian release number for an upload to backports, and
add a backport upload changelog comment.
Increment the Debian release number for a non-maintainer upload.
Increment the Debian release number for a Debian QA Team upload, and
add a QA upload changelog comment.
name
Set the distribution field to name.
Force the distribution specified with
to be used, even if it doesn't match the list of known distributions.
level
Set the urgency field to level.
git-log-options
Options passed on verbatim to git-log(1).
N
Include N digits of the commit id in the
changelog entry. Default is to not include any commit ids at all.
regex
Ignore commit lines matching regex
when generating the changelog.
Use user.name and user.email from
git-config(1) for changelog trailer.
Merge commits by maintainer.
Whether to spawn an editor: always, when doing snapshots or when
doing a release.
msg-format
use this format string for the commit message when committing the
generated changelog file (when is given).
Default is
Update changelog for %(version)s release
Commit the generated changelog.
customization-file
Load Python code from customization-file.
At the moment, the only useful thing the code can do is define a
custom format_changelog_entry() function.
customization-file
Load Python code from customization-file.
At the moment, the only useful thing the code can do is define a
custom format_changelog_entry() function.
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 or &gbp-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 &gbp-dch; so that later snapshots automatically
have a higher version number. To leave snapshot mode invoke &gbp-dch;
with the option. This removes the pseudo
header and unmangles the version number so the released version has a
higher version number than the snapshots.
META TAGS
Additional to the above options the formatting of the commit message
in debian/changelog can be modified by special tags
(called Meta Tags)
given in the git commit message. Meta Tag processing can be activated via
the option. The tags must start at the first column of
a commit message but can appear on any line.
They are of the form :
value. Valid Meta Tags are:
: action
Supported actions are: Ignore which will
ignore this commit when generating
debian/changelog,
Short which will only use the description
(the first line) of the commit message when generating the changelog
entry (useful when is given) and
Full which will use the full commit
message when generating the changelog entry (useful when
is not given).
: msg
Add a thanks message after the commit message.
: bugnumber
Indicate in the debian/changelog that the bug
was closed by this commit. See the on
how to extend this for other bugtrackers.
The following git commit message:
Document meta tags
so one doesn't have to consult the manual
Git-Dch: Short
Closes: #636088
Thanks: Raphaël Hertzog for the suggestion
Results in this debian/changelog entry:
* Document meta tags.
Thanks to Raphaël Hertzog for the suggestion (Closes: #636088)
&man.gbp.config-files;
SEE ALSO,
,
,
,
,
&man.seealso.common;
Cl2vcs,
AUTHOR
&dhusername; &dhemail;