Rather than having the next type recorded in netype, record it in
etypes. This is more orthogonal, and will allow more subtle
specifications of what is expected.
No functional change for now.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
git diff --quiet ${beforetag-t.before} -- ':.' ':!debian/patches'
git diff --quiet ${beforetag-t.before} -- ':.' ':!debian/patches'
- local etype netype bwtip
LC_MESSAGES=C t-git-debrebase status >../status.check
case $state in
LC_MESSAGES=C t-git-debrebase status >../status.check
case $state in
+ # etypes is either a type,
+ # or PseudoMerge-<more etypes>
+ # or AddPatches-<more etypes>
+
case $state in
laundered)
case $state in
laundered)
bwtip=Y:`t-git-debrebase breakwater`
;;
bwtip=Y:`t-git-debrebase breakwater`
;;
- stitched) etype=Pseudomerge ;;
- pushed) etype=AddPatches; netype=Pseudomerge ;;
+ stitched) etypes=Pseudomerge-Upstream ;;
+ pushed) etypes=AddPatches-Pseudomerge-Upstream ;;
esac
t-git-debrebase analyse >../anal.check
esac
t-git-debrebase analyse >../anal.check
while read cid ctype info; do
: ===== $cid $ctype $info =====
test $cid = $expect
while read cid ctype info; do
: ===== $cid $ctype $info =====
test $cid = $expect
- local cetype=$etype
- if [ "x$ctype" = "x$etype" ]; then cetype=SAME; fi
+ local cetype=${etypes%%-*}
+ if [ "x$ctype" = "x$cetype" ]; then cetype=SAME; fi
local parents="`git log -n1 --pretty=format:%P $cid`"
expect="$parents"
enparents=1
local parents="`git log -n1 --pretty=format:%P $cid`"
expect="$parents"
enparents=1
Anchor/Upstream) ;;
Anchor/Packaging) ;;
*)
Anchor/Upstream) ;;
Anchor/Packaging) ;;
*)
- fail "etype=$etype ctype=$ctype cetype=$cetype $cid"
+ fail "etypes=$etypes ctype=$ctype cetype=$cetype $cid"
- case "$ctype/$etype" in
+ case "$ctype/$etypes" in
Packaging/Upstream|\
Changelog/Upstream)
if [ "x$bwtip" != x ]; then
Packaging/Upstream|\
Changelog/Upstream)
if [ "x$bwtip" != x ]; then
expect=${expect%% *}
enparents=2
git diff --quiet $expect..$cid
expect=${expect%% *}
enparents=2
git diff --quiet $expect..$cid
: 'reject pointless pseudomerges'
local overwritten=${parents/$expect/}
: 'reject pointless pseudomerges'
local overwritten=${parents/$expect/}
Packaging)
git diff --quiet $expect..$cid -- ':.' ':!debian'
git diff --quiet $expect..$cid -- ':debian/patches'
Packaging)
git diff --quiet $expect..$cid -- ':.' ':!debian'
git diff --quiet $expect..$cid -- ':debian/patches'
;;
AddPatches)
git diff --quiet $expect..$cid -- \
':.' ':!debian/patches'
;;
AddPatches)
git diff --quiet $expect..$cid -- \
':.' ':!debian/patches'
- etype=$netype
- netype=Upstream
;;
Changelog)
git diff --quiet $expect..$cid -- \
':.' ':!debian/changelog'
;;
Changelog)
git diff --quiet $expect..$cid -- \
':.' ':!debian/changelog'
;;
Upstream/SAME)
git diff --quiet $expect..$cid -- ':debian'
;;
Upstream/SAME)
git diff --quiet $expect..$cid -- ':debian'