local gdr=${DGIT_GITDEBREBASE_TEST-git-debrebase}
: '
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{'
- $gdr $GDR_TEST_OPTS $GDR_TEST_DEBUG $t_gdr_xopts "$@"
+ $gdr "--dgit=${DGIT_TEST-dgit}" $GDR_TEST_OPTS \
+ $GDR_TEST_DEBUG $t_gdr_xopts "$@"
: '}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
'
}
git diff --quiet ${beforetag-t.before} -- ':.' ':!debian/patches'
- local etypes bwtip
-
LC_MESSAGES=C t-git-debrebase status >../status.check
case $state in
laundered)
;;
esac
+ t-gdr-good-analyse HEAD $state
+}
+
+t-gdr-good-analyse () {
+ local head=$1
+ local state=$2
+ local wsfx=$3
+ local etypes bwtip
+
# etypes is either a type,
# or PseudoMerge-<more etypes>
# or AddPatches-<more etypes>
stitched) etypes=Pseudomerge-Upstream ;;
pushed) etypes=AddPatches-Pseudomerge-Upstream ;;
pushed-interop) etypes=Pseudomerge-AddPatchesInterop-Upstream ;;
+ breakwater) etypes=Packaging ;;
esac
- t-git-debrebase analyse >../anal.check
- expect=`git rev-parse HEAD`
- exec <../anal.check
+ anal=../anal$wsfx
+ t-git-debrebase analyse $head >$anal.check
+ expect=`git rev-parse $head`
+ exec <$anal.check
local cid ctype info nparents
while read cid ctype info; do
: ===== $cid $ctype $info =====
Pseudomerge/SAME) ;;
Packaging/SAME) ;;
Packaging/Upstream) ;;
+ MergedBreakwaters/Packaging) ;;
+ MergedBreakwaters/Upstream) ;;
AddPatches/SAME) ;;
AddPatches/AddPatchesInterop) ;;
Changelog/Packaging) ;;
: 'reject pointless pseudomerges'
local overwritten=${parents/$expect/}
overwritten=${overwritten// /}
- t-git-debrebase analyse $overwritten >../anal.overwr
+ t-git-debrebase analyse $overwritten >$anal.overwr
local ocid otype oinfo
- read <../anal.overwr ocid otype oinfo
+ read <$anal.overwr ocid otype oinfo
case "$otype" in
Pseudomerge) test "x$info" != "x$oinfo" ;;
esac
Upstream/SAME)
git diff --quiet $expect..$cid -- ':debian'
;;
+ MergedBreakwaters)
+ enparents=2
+ ;;
Anchor)
break
;;
*) fail 'unexpected parent' ;;
esac
+ case "$ctype" in
+ MergedBreakwaters)
+ local f
+ local parent_ix=0
+ for f in $parents; do
+ t-gdr-good-analyse $f breakwater \
+ $wsfx-mp$parent_ix
+ parent_ix=$(( $parent_ix + 1 ))
+ done
+ return
+ ;;
+ esac
+
done
}
t-some-changes () {
local token=$1
- local which=${2-dum}
+ local which=${2:-dum}
+ local fsuffix=$3
t-git-next-date
case "$which" in
*d*)
- echo >>debian/zorkmid "// debian $token"
- git add debian/zorkmid
- git commit -m "DEBIAN add zorkmid ($token)"
+ echo >>debian/zorkmid$fsuffix "// debian $token"
+ git add debian/zorkmid$fsuffix
+ git commit -m "DEBIAN add zorkmid$fsuffix ($token)"
;;
esac
case "$which" in
*u*)
- echo >>src.c "// upstream $token"
- git commit -a -m "UPSTREAM edit src.c ($token)"
+ 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 src.c; do
+ for f in debian/zorkmid$fsuffix src$fsuffix.c; do
echo "// both! $token" >>$f
git add $f
done
- git commit -m "MIXED add both ($token)"
+ git commit -m "MIXED add both($fsuffix) ($token)"
;;
esac
}
t-nmu-upload-3 () {
- t-dch-commit -r sid
+ t-dch-commit-r
t-dgit -wgf build-source
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
+}