gbp-import-ref

&dhsection;

gbp-import-ref

Update upstream sources in a git only workflow

          &gbp-import-ref;

          &man.common.options.synopsis;
          --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

&man.common.options.description;

`--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` merges from the upstream branch. `VERSION` (the default) 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 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

&man.gbp.config-files;

## SEE ALSO

man.gbp.buildpackage, man.gbp.import.dsc, man.gbp.import.dscs, man.gbp.dch, man.gbp.conf,

uscan

1 , &man.seealso.common;

## AUTHOR

&dhusername; &dhemail;