Sloppy tarball creation

By default gbp buildpackage uses debian/changelog to detect the upstream version and build the corrsponding tarball either via pristine-tar™ or by using git archive directly. This ensures that the tarball matches what's in the Debian archive already.

But there might be cases where you don't want to follow these packaging practice and create a fresh dirty tarball that contains additional changes. Such tarballs are not suitable for upload into the archive but might be helpful in local testing.

Especially when getting started and when you first want to get a package built and dive into gbp dch, git-pbuilder and the 3.0 (quilt) format later to find out what exactly

dpkg-source: info: local changes detected, the modified files are:
dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/hello-debhelper_2.8-1.diff.har2Xx
dpkg-source: info: you can integrate the local changes with dpkg-source --commit


For that you can force gbp buildpackage to create a tarball from the debian-branch dropping the debian/ directory. This will give you a tarball that is very close to your current working copy except for the packaging.

  gbp buildpackage --git-ignore-new --git-force-create --git-upstream-tree=SLOPPY --git-no-pristine-tar

The important part is the SLOPPY above. The other options are there to prevent gbp buildpackage from using pristine-tar™, to force the creation of a new tarball and to not abort if you have changes in your current working copy. If you're still getting an error about unexpected upstream changes make sure you have no uncomitted changes in you workig copy (changes in the debian/ directory are o.k.) and no files that are ignored by git via .gitignore. A git clean -dfx can help here.

Please don't use this tarball to upload to the Debian archive since changes outside debian/ need to be represented by patches in debian/patches. See the dpkg-source manpage for details.