Configuration files

The configuration files are parsed in this order:

/etc/git-buildpackage/gbp.conf

system wide configuraton

~/.gbp.conf

per user configuration

.gbp.conf

per repository/branch configuration (deprecated)

debian/gbp.conf

per repository/branch configuration

.git/gbp.conf

per (local) repository configuration

All have the same format. They consist of several sections, all of them are optional:

[DEFAULT]

Options in this section apply to git-buildpackage, git-import-orig, git-import-dsc and git-dch.

[git-buildpackage]

Options in this section apply to git-buildpackage only and override options from the [DEFAULT] section.

[git-import-orig]

Options in this section apply to git-import-orig only and override options from the [DEFAULT] section.

[git-import-dsc]

Options in this section apply to git-import-dsc only and override options from the [DEFAULT] section.

[git-dch]

Options in this section apply to git-dch only and override options from the [DEFAULT] section.

...

Same for the other git-* and gbp-* commands

The actual options in these sections are the command line options without the '--' prefix. So --upstream-branch=dfsgfree would read:

upstream-branch=dfsgfree

in the config file. In the special case of git-buildpackage the stripped prefix is not '--' but '--git-'. Here's a more complete example:

[DEFAULT]
# the default build command
builder=debuild -i\.git -I.git
# the default branch for upstream sources
upstream-branch=upstream
# the default branch for the debian patch
debian-branch=master

[git-buildpackage]
upstream-branch=dfsgclean
# Sign tags with GPG:
sign-tags = True
# Keyid to sign tags with
#keyid = 0xdeadbeef

[git-import-orig]
upstream-branch=notdfsgclean

[git-import-dsc]
upstream-branch=notdfsgclean

[git-dch]
git-log=--no-merges

For more details see the gbp.conf(5) manual page.