+ case "$which" in
+ *u*)
+ echo >>src$fsuffix.c "// upstream $token"
+ git add src$fsuffix.c
+ git commit -m "UPSTREAM edit src$fsuffix.c ($token)"
+ ;;
+ esac
+
+ case "$which" in
+ *m*)
+ for f in debian/zorkmid$fsuffix src$fsuffix.c; do
+ echo "// both! $token" >>$f
+ git add $f
+ done
+ git commit -m "MIXED add both($fsuffix) ($token)"
+ ;;
+ esac
+
+ t-git-next-date
+}
+
+t-make-new-upstream-tarball () {
+ local uv=$1
+ git checkout make-upstream
+ # leaves ust set to filename of orig tarball
+ echo "upstream $uv" >>docs/README
+ git commit -a -m "upstream $uv tarball"
+ ust=example_$uv.orig.tar.gz
+ git archive -o ../$ust --prefix=example-2.0/ make-upstream
+}
+
+t-nmu-upload-1 () {
+ # usage:
+ # v=<full version>
+ # nmu-upload-1 <nmubranch>
+ # gbp pq import or perhaps other similar things
+ # nmu-upload-2
+ # maybe make some dgit-covertible commits
+ # nmu-upload-3
+
+ t-git-next-date
+ nmubranch=$1
+ git checkout -f -b $nmubranch
+ t-git-debrebase
+ t-git-debrebase convert-to-gbp
+ t-git-next-date
+ # now we are on a gbp patched-unapplied branch
+}
+
+
+t-nmu-upload-2 () {
+ t-git-next-date
+ t-dch-commit -v $v -m "nmu $nmubranch $v"
+}
+
+t-nmu-upload-3 () {
+ t-dch-commit-r
+
+ t-dgit -wgf build-source
+
+ cd ..
+ c=${p}_${v}_source.changes
+ debsign -kBCD22CD83243B79D3DFAC33EA3DBCBC039B13D8A $c
+ dput -c $tmp/dput.cf test-dummy $c
+
+ t-archive-process-incoming sid
+ t-git-next-date
+ cd $p
+ git checkout master
+}
+
+t-nmu-commit-an-upstream-change () {
+ echo >>newsrc.c "// more upstream"
+ git add newsrc.c
+ git commit -m 'UPSTREAM NMU'
+}
+
+t-maintainer-commit-some-changes () {
+ t-dch-commit -v$v -m "start $v"
+
+ t-some-changes "maintainer $v"
+ t-git-debrebase
+ t-git-debrebase stitch
+
+ git branch did.maintainer
+
+ t-git-next-date
+}
+
+t-nmu-causes-ff-fail () {
+ t-dgit fetch
+
+ t-expect-fail E:'Not.*fast-forward' \
+ git merge --ff-only dgit/dgit/sid
+
+ t-expect-fail E:'-fdiverged.*refs/remotes/dgit/dgit/sid' \
+ t-git-debrebase
+}
+
+t-nmu-reconciled-good () {
+ local nmutree=$1
+
+ : 'check that what we have is what is expected'
+
+ git checkout -b compare.nmu origin/master~0
+ git checkout $nmutree .
+ git rm -rf debian/patches
+ git commit -m 'rm patches nmu'
+
+ git checkout -b compare.maintainer origin/master~0
+ git checkout did.maintainer .
+ git rm -rf --ignore-unmatch debian/patches
+ git commit --allow-empty -m 'rm patches maintainer'
+
+ git merge compare.nmu
+ git diff --quiet master
+
+ : 'check that dgit still likes it'
+
+ git checkout master
+ t-dgit -wgf quilt-fixup
+}
+
+t-gdr-prep-new-upstream () {
+ uv=$1
+ t-git-next-date
+ git checkout make-upstream
+ git reset --hard upstream
+ t-make-new-upstream-tarball $uv
+ git push . make-upstream:upstream
+ git checkout master
+ t-git-next-date
+}
+
+t-gdr-gbp-import-core () {
+ p=example
+ t-worktree 1.1
+
+ cd example
+
+ : 'fake up some kind of upstream'
+ git checkout -b upstream quilt-tip
+ rm -rf debian
+ mkdir debian
+ echo junk >debian/rules
+ git add debian
+ git commit -m "an upstream retcon ($0)"
+ git tag v1.0
+
+ : 'fake up that our quilt-tip was descended from upstream'
+ git checkout quilt-tip
+ git merge --no-edit -s ours upstream
+
+ : 'fake up that our quilt-tip had the patch queue in it'
+ git checkout patch-queue/quilt-tip
+ gbp pq export
+ git add debian/patches
+ git commit -m "patch queue update ($0)"
+
+ : 'make branch names more conventional'
+ git branch -D master
+ git branch -m quilt-tip master