# state should be one of
# laundered
# stitched
- # patches
+ # pushed
git diff --quiet ${beforetag-t.before} -- ':.' ':!debian/patches'
local etype netype bwtip
+ LC_MESSAGES=C t-git-debrebase status >../status.check
+ case $state in
+ laundered)
+ egrep '^ *branch is laundered' ../status.check
+ ;;
+ stitched|pushed)
+ egrep \
+ '^ *branch contains furniture|^ *branch is unlaundered|^ *branch needs laundering' ../status.check
+ egrep '^ stitched$' ../status.check
+ ;;
+ esac
+
case $state in
laundered)
etype=Upstream
enparents=2
git diff --quiet $expect..$cid
etype=Upstream
+
+ : 'reject pointless pseudomerges'
+ local overwritten=${parents/$expect/}
+ overwritten=${overwritten// /}
+ t-git-debrebase analyse $overwritten >../anal.overwr
+ local ocid otype oinfo
+ read <../anal.overwr ocid otype oinfo
+ case "$otype" in
+ Pseudomerge) test "x$info" != "x$oinfo" ;;
+ esac
;;
Packaging)
git diff --quiet $expect..$cid -- ':.' ':!debian'
local cnparents=`printf "%s" "$parents" | wc -w`
test $cnparents = $enparents
+ local cndparents=`
+ for f in $parents; do echo $f; done | sort -u | wc -w
+ `
+ test $cndparents = $cnparents
+
case "$parents" in
*"$expect"*) ;;
*) fail 'unexpected parent' ;;