X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Flib-gdr;h=9eb75371102f14e4648f8bef5d12f0d907c462db;hp=c80dead656ade953a80a2c8ef836a50c15a3bc09;hb=c0df25cd65b0172d5130e01a73aa610c3b0dd105;hpb=89dc73a3211b6bdc5c70dc878ca5408f8d136577 diff --git a/tests/lib-gdr b/tests/lib-gdr index c80dead6..9eb75371 100644 --- a/tests/lib-gdr +++ b/tests/lib-gdr @@ -22,15 +22,32 @@ t-gdr-good () { git diff --quiet ${beforetag-t.before} -- ':.' ':!debian/patches' - local etype netype bwtip + local etypes bwtip + LC_MESSAGES=C t-git-debrebase status >../status.check case $state in laundered) - etype=Upstream + 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 + + # etypes is either a type, + # or PseudoMerge- + # or AddPatches- + + case $state in + laundered) + etypes=Upstream bwtip=Y:`t-git-debrebase breakwater` ;; - stitched) etype=Pseudomerge ;; - pushed) etype=AddPatches; netype=Pseudomerge ;; + stitched) etypes=Pseudomerge-Upstream ;; + pushed) etypes=AddPatches-Pseudomerge-Upstream ;; + pushed-interop) etypes=Pseudomerge-AddPatchesInterop-Upstream ;; esac t-git-debrebase analyse >../anal.check @@ -40,8 +57,8 @@ t-gdr-good () { 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 @@ -52,17 +69,18 @@ t-gdr-good () { Packaging/SAME) ;; Packaging/Upstream) ;; AddPatches/SAME) ;; + AddPatches/AddPatchesInterop) ;; Changelog/Packaging) ;; Changelog/Upstream) ;; Upstream/SAME) ;; Anchor/Upstream) ;; Anchor/Packaging) ;; *) - fail "etype=$etype ctype=$ctype cetype=$cetype $cid" + fail "etypes=$etypes ctype=$ctype cetype=$cetype $cid" ;; esac - case "$ctype/$etype" in + case "$ctype/$etypes" in Packaging/Upstream|\ Changelog/Upstream) if [ "x$bwtip" != x ]; then @@ -71,13 +89,20 @@ t-gdr-good () { fi esac + case "$cetype" in + AddPatchesInterop) + git log -n1 --pretty=format:%B \ + | grep '^\[git-debrebase[ :]' + ;; + esac + case "$ctype" in Pseudomerge) expect=${info#Contributor=} expect=${expect%% *} enparents=2 git diff --quiet $expect..$cid - etype=Upstream + etypes=${etypes#*-} : 'reject pointless pseudomerges' local overwritten=${parents/$expect/} @@ -92,18 +117,17 @@ t-gdr-good () { Packaging) git diff --quiet $expect..$cid -- ':.' ':!debian' git diff --quiet $expect..$cid -- ':debian/patches' - etype=Packaging + etypes=Packaging ;; AddPatches) git diff --quiet $expect..$cid -- \ ':.' ':!debian/patches' - etype=$netype - netype=Upstream + etypes=${etypes#*-} ;; Changelog) git diff --quiet $expect..$cid -- \ ':.' ':!debian/changelog' - etype=Packaging + etypes=Packaging ;; Upstream/SAME) git diff --quiet $expect..$cid -- ':debian'