#!/bin/bash
set -e
. tests/lib

t-tstunt-parsechangelog
t-tstunt-debuild
t-tstunt-lintian

t-archive-none example
t-git-none
t-worktree 1.0

cd $p

: '----- construct an unpatched branch with patches -----'

git checkout patch-queue/quilt-tip
gbp pq export
: 'now on quilt-tip'
git add debian/patches
git commit -m 'Commit patch queue'

: '----- construct an upstream branch -----'

git checkout --orphan upstream
git reset --hard
git clean -xdf

tar --strip-components=1 -xf $troot/pkg-srcs/${p}_1.0.orig.tar.gz

mkdir docs
cd docs
tar --strip-components=1 -xf $troot/pkg-srcs/${p}_1.0.orig-docs.tar.gz
cd ..

git add -Af .
git commit -m 'Import 1.0'
git tag upstream/1.0

git checkout quilt-tip
t-git-pseudo-merge -m 'gbp-orig pseudomerge' upstream

v=1.0-1

: '----- let gbp build a .orig for comparison -----'

gbp buildpackage --git-ignore-branch --git-no-sign-tags -us -uc

mkdir ../gbp-output
mv ../*1.0* ../gbp-output/.
rm -f ../*.changes

: '----- now do it ourselves -----'

t-dgit -wgf --dgit-view-save=split.b gbp-build --git-ignore-branch

t-dgit -wgf --quilt=gbp clean # gbp leaves dirty trees :-/

t-dgit -wgf --dgit-view-save=split.p --quilt=gbp push --new

t-gbp-pushed-good

: '----- check .origs are the same -----'

# if gbp weren't weird about .gitignore we could just debdiff the .dscs

for d in . gbp-output; do
	cd $tmp/$d
	mkdir tar-x
	cd tar-x
	tar zxf ../${p}_${v%-*}.orig.tar.gz
done

cd $tmp
diff -ruN gbp-output/tar-x tar-x

t-ok
