chiark / gitweb /
git-debrebase: rename gbp2gdr to convert-from-gbp
[dgit.git] / tests / setup / gdr-convert-gbp
diff --git a/tests/setup/gdr-convert-gbp b/tests/setup/gdr-convert-gbp
new file mode 100755 (executable)
index 0000000..9bb9983
--- /dev/null
@@ -0,0 +1,100 @@
+#!/bin/bash
+set -e
+. tests/lib
+. $troot/lib-gdr
+
+t-dependencies git-buildpackage libfile-fnmatch-perl
+
+t-tstunt-parsechangelog
+
+not-gdr-processable () {
+       t-git-debrebase analyse | grep 'Unknown Unprocessable'
+}
+
+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)"
+
+: '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)"
+
+not-gdr-processable
+
+: 'fake up an upstream 2.0'
+git branch make-upstream upstream
+t-make-new-upstream-tarball 2.0
+
+: 'make branch names more conventional'
+git branch -D master
+git branch -m quilt-tip master
+
+for b in \
+               quilt-tip-2             \
+               gitish-only             \
+               quilt-tip-1.1           \
+               patch-queue/quilt-tip   \
+               indep-arch              \
+; do
+       git branch -D $b
+done
+
+: 'see what gbp import-orig does'
+git checkout master
+gbp import-orig --upstream-version=2.0 ../$ust
+
+not-gdr-processable
+
+t-dch-commit -v 2.0-1 -m 'new upstream (did gbp import-orig)'
+t-dch-commit -r sid
+
+t-archive-none $p
+t-git-none
+t-dgit -wgf --gbp push-source --new
+
+t-salsa-add-remote
+git push --set-upstream origin master
+
+# OK now this looks like something more normal.
+# We have:
+#  maintainer (gbp) view                dgit view
+#    master
+#    debian/2.0-1                          archive/debian/2.0-1
+#    remotes/origin/master                 remotes/dgit/dgit/sid
+
+t-git-debrebase -fupstream-has-debian convert-from-gbp
+
+v=2.0-2
+dch -v $v -m 'switch to git-debrebase, no other changes'
+dch -r sid
+git commit -m changelog debian/changelog
+
+t-dgit -wgf push-source --new --overwrite
+git push
+
+cd ..
+
+t-archive-process-incoming sid
+
+t-setup-done '' "$(echo $p*) git mirror salsa aq" '
+       . $troot/lib-gdr
+       t-tstunt-parsechangelog
+       p=example
+'
+
+t-ok