gbp-import-orig(1) | git-buildpackage Manual | gbp-import-orig(1) |
gbp-import-orig - Import an upstream source into a git repository
gbp import-orig
[--version] [--help] [--verbose]
[--color=[auto|on|off]] [--color-scheme= COLOR_SCHEME]
[--upstream-version= version] [--[no-]merge]
[--merge-mode= [auto|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]... [--component= component]...
[--[no-]pristine-tar] [--[no-]filter-pristine-tar]
[--[no-]symlink-orig] [--postimport=cmd]
[--[no-]interactive] [--[no-]rollback] filename |
url | --uscan
gbp import-orig imports upstream sources into a Git repository. It can import from three sources:
If the tarballs name is already of the form package-name_version.orig.tar.gz, the version information is determined 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). This is either done using plain git merge or by creating a new tree that consists of the new upstream version plus the debian/ directory. The later is used for source format 3.0 (quilt) packages since direct modifications of the upstream sources are not allowed in that format and so a 1:1 replacement of the upstream sources is almost always desired. It can be tweaked via the --merge-mode.
In case of an error gbp import-orig will rollback (undo) all changes it has done to the repository (see the --rollback option).
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.
Using additional original tarballs is a feature of the 3.0 (quilt) source format. See the dpkg-source manpage for details. This is currently considered an experimental feature and might change incompatibly.
This is a good idea if not using pristine-tar since it avoids creating a new tarball with a different md5sum.
Download and import a new upstream version using the information from debian/watch
gbp import-orig --uscan
Fetch tarball from an URL
gbp import-orig https://debian.example.com/sid/upstream-tarball-0.1.tar.gz
Import a local tarball
gbp import-orig ../upstream-tarball-0.1.tar.gz
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 <agx@sigxcpu.org>
21 March 2019 |