DOKK / manpages / debian 10 / git-buildpackage / gbp-import-ref.1.en
gbp-import-ref(1) git-buildpackage Manual gbp-import-ref(1)

gbp-import-ref - Update upstream sources when using Git only

gbp import-ref
[--version] [--help] [--verbose] [--color=[auto|on|off]] [--color-scheme= COLOR_SCHEME] [--upstream-version= version] [--merge-mode= [auto|merge|replace]] [--upstream-branch= branch_name] [--upstream-tag= tag_format] [--upstream-tree= [BRANCH|VERSION|commit-id]] [--debian-branch= branch_name] [--[no-]sign-tags] [--keyid= gpg-keyid] [--postimport=cmd] [--[no-]rollback]

gbp import-ref merges upstream git commits onto your debian-branch You can either specifiy a branch to merge, give an upstream version or specify the commit id directly. If no tag exists for the imported commit it will be automatically created.

Print version of the program, i.e. version of the git-buildpackage suite
Verbose execution
Print help and exit
Whether to use colored output.
Colors to use in output (when color is enabled). The format for COLOR_SCHEME is '<debug>:<info>:<warning>:<error>'. Numerical values and color names are accepted, empty fields imply the default color. For example, --git-color-scheme='cyan:34::' would show debug messages in cyan, info messages in blue and other messages in default (i.e. warning and error messages in red).
The upstream version to merge. The upstream tag to use will be determined via the --upstream-tag.
How to fold the upstream commits onto the Debian packaging branch.

merge does a Git merge leaving you on your own in case of merge conflict resolution.

replace mode on the other hand makes the head of the Debian packaging branch identical to the newly imported tree but preserves the content of the debian/ directory while keeping the current head as well as the newly imported tree as parents of the generated commit. This is similar to a theirs merge strategy while preserving debian/.

The default is auto which uses replace for 3.0 (quilt) packages and merge otherwise.

The branch in the Git repository the upstream sources are on. Default is upstream.
Use this tag format when looking up upstream tags, default is upstream/%(version)s.
What to merge into the debian-branch. BRANCH (the default) merges from the upstream branch. VERSION looks for a tag determined from the given upstream version number via the --upstream-version option.

Other values are interpreted as git commit id to merge from.

The branch in the Git repository the Debian package is being developed on, default is master.
GPG sign all created tags.
Use this keyid for gpg signing tags.
Use this format string for the commit message when importing upstream versions, default is New upstream version %(version)s.
Run cmd after the import. The hook gets the following environment variables passed:
The name of the Debian packaging branch
The name of the just created upstream tag
The just imported upstream version
The Debian version of the package with a Debian revision of '-1'
Rollback changes in case of an error.

Merge commits from the upstream-branch into the debian-branch creating a tag for the version 0.0~git20180524:

gbp import-ref --upstream-tree=BRANCH -u0.0~git20180524

Merge commits from the the tag corresponding to version 1.0:

gbp import-ref --upstream-tree=VERSION -u1.0

Merge commits given by a SHA1 creating a tag for the version 0.0~git20180524

gbp import-ref --upstream-tree=c4398912c -u0.0~git20180524

Several gbp.conf files are parsed to set defaults for the above command-line arguments. See the gbp.conf(5) manpage for details.

gbp-buildpackage(1), gbp-import-dsc(1), gbp-import-dscs(1), gbp-dch(1), gbp.conf(5), uscan(1), debuild(1), git(1), pristine-tar(1),
The Git-Buildpackage Manual ⟨file:///usr/share/doc/git-buildpackage/manual-html/index.html⟩

Guido Günther <>

21 March 2019