## gbp-import-ref

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

## Synopsis

`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`]

## DESCRIPTION

gbp import-ref merges upstream git commits onto your `debian-branch` You can either specify 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.

## OPTIONS

`--version` | Print version of the program, i.e. version of the git-buildpackage suite
`-v`, `--verbose` | Verbose execution
`-h`, `--help` | Print help and exit
`--color=`[auto|on|off] | Whether to use colored output.

`--color-scheme=``COLOR_SCHEME`

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

`--upstream-version`=`version`, `-u` `version` | The upstream version to merge. The upstream tag to use will be determined via the `--upstream-tag`.

`--merge-mode=``[auto|merge|replace]`

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.

`--upstream-branch`=`branch_name` | The branch in the Git™ repository the upstream sources are on. Default is `upstream`.
`--upstream-tag=``tag-format` | Use this tag format when looking up upstream tags, default is `upstream/%(version)s`.
`--upstream-tree=``[BRANCH|VERSION|commit-id]` | 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.
`--debian-branch`=`branch_name` | The branch in the Git™ repository the Debian™ package is being developed on, default is `master`.
`--[no-]sign-tags` | GPG sign all created tags.
`--keyid=``gpg-keyid` | Use this ``keyid`` for gpg signing tags.
`--import-msg=``msg-format` | Use this format string for the commit message when importing upstream versions, default is `New upstream version %(version)s`.

`--postimport=`cmd``

Run `cmd` after the import. The hook gets the following environment variables passed:

`GBP_BRANCH` | The name of the Debian packaging branch
`GBP_TAG` | The name of the just created upstream tag
`GBP_UPSTREAM_VERSION` | The just imported upstream version
`GBP_DEBIAN_VERSION` | The Debian version of the package with a Debian revision of '-1'

`--[no-]rollback` | Rollback changes in case of an error.

## EXAMPLES

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

## CONFIGURATION FILES

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

## SEE ALSO

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

## AUTHOR

Guido Günther `<agx@sigxcpu.org>`