# gbp-import-orig

## Name

gbp-import-orig -- Import an upstream source into a git repository

## Synopsis

gbp import-orig [`--version`] [`--help`] [`--verbose`] [`--color=``[auto|on|off]`] [`--color-scheme=``COLOR_SCHEME`] [`--upstream-version=``version`] [`--[no-]merge`] [`--merge-mode=``[merge|replace]`] [`--upstream-branch=``branch_name`] [`--debian-branch=``branch_name`] [`--upstream-vcs-tag=``tag-format`] [`--[no-]sign-tags`] [`--keyid=``gpg-keyid`] [`--upstream-tag=``tag-format`] [`--filter=``pattern`] [`--[no-]pristine-tar`] [`--[no-]filter-pristine-tar`] [`--[no-]symlink-orig`] [`--postimport=cmd`] [`--[no-]interactive`] [`--download`] `upstream-source` | `--uscan`

## DESCRIPTION

gbp import-orig imports `upstream-source` into the Git repository. `upstream-source` can either be a gzip, bzip2, lzma or xz compressed tar archive, a zip archive, or an already unpacked source tree. If it is already of the form `package-name_version.orig.tar.gz`, the version information is read from the tarball's filename, otherwise it can be given on the command line via `--upstream-version`. If the source package name or version can't be determined, gbp import-orig will prompt for it unless `--no-interactive` is given.

The sources are placed on the upstream branch (default: `upstream`), tagged and merged onto the debian branch (default: `master`).

## 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 number
`--[no-]merge` | Merge the upstream branch to the Debian branch after import

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

How to fold the newly imported upstream source to the Debian packaging branch after import.

The default mode `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 important trees as parents of the generated commit. This is similar to a `theirs` merge strategy while preserving `debian/`.

`--upstream-branch`=`branch_name` | The branch in the Git repository the upstream sources are put onto. Default is `upstream`.
`--debian-branch`=`branch_name` | The branch in the Git repository the Debian package is being developed on, default is `master`. After importing the new sources on the upstream branch, gbp import-orig will try to merge the new version onto this branch.
`--upstream-vcs-tag`=`tag-format` | Add `tag-format` as additional parent to the commit of the upstream tarball. Useful when upstream uses git and you want to link to its revision history. The `tag-format` can be a pattern similar to what `--upstream-tag` supports.
`--[no-]sign-tags` | GPG sign all created tags
`--keyid=``gpg-keyid` | use this keyid for gpg signing tags
`--upstream-tag=``tag-format` | use this tag format when tagging upstream versions, default is `upstream/%(version)s`
`--import-msg=``msg-format` | use this format string for the commit message when importing upstream versions, default is `Imported Upstream version %(version)s`
`--filter=``pattern` | filter out files glob-matching pattern. Can be given multiple times.
`--[no-]pristine-tar` | generate pristine-tar delta file
`--[no-]filter-pristine-tar` | if using a filter, also filter the files out of the tarball passed to pristine-tar
`--[no-]symlink-orig` | Whether to create and keep a symlink from the upstream tarball to a Debian policy conformant upstream tarball name located in `../`. This is a good idea if not using pristine-tar since it avoids creating a new tarball with a different md5sum.
`--postimport=`cmd`` | run `cmd` after the import.
`--uscan` | Use uscan to fetch new upstream version.
`--uscan` | Download the tarball from the given HTTP URL. This needs python-request installed.
`--[no-]interactive` | Run command interactively, i.e. ask package name and version if needed.

## EXAMPLES

Download and import a new upstream version using the information from `debian/watch`

          gbp import-orig --uscan

After downloading an upstream tarball by hand, import it

          gbp import-orig ../upstream-tarball-0.1.tar.gz

## 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)>, debuild(1), git(1), pristine-tar(1), The Git-Buildpackage Manual

## AUTHOR

Guido Guenther `<agx@sigxcpu.org>`