set -e
. tests/lib
-t-dependencies git-buildpackage libfile-fnmatch-perl faketime
+t-dependencies GDR
t-setup-import gdr-convert-gbp
mix-it () {
t-git-next-date
+
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"
+ t-git-next-date
}
git checkout -b stitched-laundered master
before=before-$work
git branch $before
+ local xopts=''
+
case "$checkletters" in
XX*)
fail "$checkletters" # for debugging
;;
+ 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:. \
- t-git-debrebase $subcmd
- t-git-debrebase --noop-ok $subcmd
+ t-git-debrebase $xopts $subcmd
+ xopts+=' --noop-ok'
+ next_checkletter
;;
+ esac
+
+ case "$checkletters" in
[EF]:*)
t-expect-fail "$checkletters" \
- t-git-debrebase $subcmd
+ t-git-debrebase $xopts $subcmd
continue
;;
*)
- t-git-debrebase $subcmd
+ t-git-debrebase $xopts $subcmd
;;
esac
git reset --hard HEAD^1
;;
P*)
- t-dgit -wgf --quilt=check quilt-fixup
+ t-dgit -wgf --quilt=nofix quilt-fixup
git diff HEAD~ debian/patches | egrep .
git diff --quiet HEAD~ -- ':.' ':!debian/patches'
git reset --hard HEAD~
}
Ec="F:No ongoing git-debrebase session"
+Ep="F:Patch export produced patch amendments"
# input state:
# stitched? st'd st'd unst'd unst'd
subcmd prepush Ns Nu Sltf Stf
subcmd quick ns Sl Sltf Sl
subcmd conclude "$Ec" "$Ec" Sltf Sl
-#subcmd make-patches sPft sPft uPft uPft
-#subcmd dgit-upload-hook Psft Psft SPft SPft
+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
# n this is a silent noop
# both of these imply tf; but, specify also one of u s