set -e
. tests/lib
-t-dependencies git-buildpackage libfile-fnmatch-perl faketime
+t-dependencies GDR
+t-tstunt-parsechangelog
t-setup-import gdr-convert-gbp
cd $p
local m=$(git symbolic-ref HEAD)
t-some-changes "subcommands $m 1"
- t-dgit -wgf quilt-fixup
+ # we want patches mde by dgit, not gdr, for our test cases
+ t-dgit --git-debrebase=true -wgf quilt-fixup
t-git-next-date
t-some-changes "subcommands $m 2"
git checkout -b unstitched-laundered master
mix-it
+git branch before-unstitch/unstitched-laundered
t-git-debrebase
t-gdr-good laundered
git checkout -b unstitched-mixed master
+git branch before-unstitch/unstitched-mixed
t-git-debrebase
mix-it
;;
esac
+ case "$checkletters" in
+ X*)
+ t-expect-fail E:'snags: [0-9]* blockers' \
+ t-git-debrebase $xopts $subcmd
+ xopts+=' --force'
+ next_checkletter
+ ;;
+ esac
+
case "$checkletters" in
N*)
t-expect-fail E:. \
f*)
t-has-ancestor HEAD refs/heads/$before
;;
+ Z*)
+ t-refs-same-start
+ t-refs-same refs/heads/$work
+ t-refs-same refs/heads/before-unstitch/$startbranch
+ t-ref-head
+ ;;
*)
fail "$1"
;;
subcmd prepush Ns Nu Sltf Stf
subcmd quick ns Sl Sltf Sl
subcmd conclude "$Ec" "$Ec" Sltf Sl
+subcmd scrap Ns Ns Z Z
subcmd make-patches sPft "$Ep" uPft "$Ep"
-#subcmd dgit-upload-hook Psft "$Ep" SPft "$Ep"
#
# result codes, each one is a check:
# E:$pat } this is an error (must come first)
# F:$pat } arg is passed to expect-fail
#
+# X should fail due to snags, but succeed when forced
# XX crash out of script for manual debugging
#
# N this is a noop, error unless --noop-ok
# V ffq-prev remains unchanged; implies also u
# s result is stitched, debrebase-last exists and is unchanged
# S result is stitch just made, remaining letters apply to result~
+# Z result is rewind to before changes made
#
# P result is add-patches, remaining letters apply to result~
#