system wide


per user


per branch, can be published with the repository (deprecated)


per branch, can be published with the repository


per repository


The gbp.conf provides default global options and specific options for gbp commands. All have the same format and are parsed in the above order. The file consists of several sections, one for each command. Comments start with a hash sign (#). The generic file syntax is:

    # This is section for global settings. Affects all commands
    key = value

    # Specific sections for each command, like gbp buildpackage
    key = value

    [remote-config <name>]
    # Specific sections for a remote configuration. This can be used several
    # times to set up remote configuration for gbp-create-remote-repo
    key = value

For backwards compatibility sections starting with git- or gbp- are still supported.

key=value pairs of the command sections reflect the command line options and their settings. For example gbp-buildpackage(1) manualpage contains the --git-export-dir=diirectory option which can be turned into configuration file setting by dropping the --git prefix with:

    export-dir = directory

Notice that some option can take Python like lists. For example the gbp-import-orig(1) commmand has the --filter=pattern option which can be truned into a configuration file option like this:

    filter = [ '.svn', '.hg' ]

Boolean options can be either True or False. For example gbp-import-orig(1); has the --pristine-tar and --no-pristine-tar options which translate to:

    pristine-tar = True


    pristine-tar = False


Note: To see the current set of values that would be applied after parsing the configuration files run the command with --help and check it's output.

Note: gbp import-dscs and git-pbuilder can't be configured via gbp.conf.

gbp-create-remote-repo(1) can additionally parse remote site configurations from gbp.conf. For example a configration like:

[remote-config pkg-libvirt]
# Location of the repository
remote-url-pattern = ssh://
# Template dir to passed to git-init
template-dir = /srv/

Can be used to create remote repositories for the pkg-libvirt project using:

gbp-create-remote-repo --remote-config=pkg-libvirt

This can be useful if you're often creating new remote repositores for different projects.


An example set up for packaging work:

 # $HOME/.gbp.conf

 pristine-tar = True
 cleaner = fakeroot debian/rules clean

 export-dir  = ../build-area/

 dch = False
 filter = .svn
 filter = .hg
 filter = .bzr
 filter = CVS
 filter = debian/*
 filter = */debian/*
 filter-pristine-tar = True

 filter = [

 # End of file



Colon separated list of files to parse. The default is the above list of configuration files.


See See /etc/git-buildpackage/gbp.conf for an example.

RELATED TO gbp.conf…

gbp-clone(1), gbp-create-remote-repo(1), gbp-pq(1), gbp-pull(1), gbp-dch(1), gbp-import-dsc(1), gbp-import-orig(1), gbp-buildpackage(1), The Git-Buildpackage Manual <URL:file:///usr/share/doc/git-buildpackage/manual-html/index.html>


Guido Guenther <[email protected]>

This manual page is based on a POD version by Jari Aalto <[email protected]>. Released under license GNU GPL version 2 or (at your option) any later. version.