X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Flib-gdr;h=17058f96108c93023000ae667250c15170f5c899;hp=f6333073cdf0ad42fedcdb672b05c5fa73ba2b7c;hb=a256823c46da760688493a32ec49e5c2b93cd17a;hpb=4dea77665732625beb1e7b8be5f459dd3b4c7fd7 diff --git a/tests/lib-gdr b/tests/lib-gdr index f6333073..17058f96 100644 --- a/tests/lib-gdr +++ b/tests/lib-gdr @@ -12,17 +12,23 @@ t-git-debrebase () { ' } -t-gdr-branch-structure () { +t-gdr-good () { local state=$1 + local beforetag=$2 # say HEAD to skip this check # state should be one of # laundered # stitched # patches - local etype netype + git diff --quiet ${beforetag-t.before} -- ':.' ':!debian/patches' + + local etype netype bwtip case $state in - laundered) etype=Upstream ;; + laundered) + etype=Upstream + bwtip=Y:`t-git-debrebase breakwater` + ;; stitched) etype=Pseudomerge ;; pushed) etype=AddPatches; netype=Pseudomerge ;; esac @@ -40,28 +46,51 @@ t-gdr-branch-structure () { expect="$parents" enparents=1 : "$ctype/$cetype" "$parents" + case "$ctype/$cetype" in - Pseudomerge/SAME) + Pseudomerge/SAME) ;; + Packaging/SAME) ;; + Packaging/Upstream) ;; + AddPatches/SAME) ;; + Changelog/Packaging) ;; + Changelog/Upstream) ;; + Upstream/SAME) ;; + BreakwaterUpstreamMerge/Upstream) ;; + BreakwaterUpstreamMerge/Packaging) ;; + *) + fail "etype=$etype ctype=$ctype cetype=$cetype $cid" + ;; + esac + + case "$ctype/$etype" in + Packaging/Upstream|\ + Changelog/Upstream) + if [ "x$bwtip" != x ]; then + test "$bwtip" = "Y:$cid" + bwtip='' + fi + esac + + case "$ctype" in + Pseudomerge) expect=${info#Contributor=} expect=${expect%% *} enparents=2 git diff --quiet $expect..$cid etype=Upstream ;; - Packaging/SAME|\ - Packaging/Upstream) + Packaging) git diff --quiet $expect..$cid -- ':.' ':!debian' git diff --quiet $expect..$cid -- ':debian/patches' etype=Packaging ;; - AddPatches/SAME) + AddPatches) git diff --quiet $expect..$cid -- \ ':.' ':!debian/patches' etype=$netype netype=Upstream ;; - Changelog/Packaging|\ - Changelog/Upstream) + Changelog) git diff --quiet $expect..$cid -- \ ':.' ':!debian/changelog' etype=Packaging @@ -69,13 +98,9 @@ t-gdr-branch-structure () { Upstream/SAME) git diff --quiet $expect..$cid -- ':debian' ;; - BreakwaterUpstreamMerge/Upstream| \ - BreakwaterUpstreamMerge/Packaging) + BreakwaterUpstreamMerge) break ;; - *) - fail "etype=$etype ctype=$ctype cetype=$cetype $cid" - ;; esac local cnparents=`printf "%s" "$parents" | wc -w` @@ -88,3 +113,34 @@ t-gdr-branch-structure () { done } + +t-some-changes () { + local token=$1 + + t-git-next-date + + echo >>debian/zorkmid "// debian $token" + git add debian/zorkmid + git commit -m "DEBIAN add zorkmid ($token)" + + echo >>src.c "// upstream $token" + git commit -a -m "UPSTREAM edit src.c ($token)" + + for f in debian/zorkmid src.c; do + echo "// both! $token" >>$f + git add $f + done + git commit -m "MIXED add both ($token)" + + t-git-next-date +} + +t-make-new-upstream-tarball () { + local uv=$1 + git checkout make-upstream + # leaves ust set to filename of orig tarball + echo "upstream $uv" >>docs/README + git commit -a -m "upstream $uv tarball" + ust=example_$uv.orig.tar.gz + git archive -o ../$ust --prefix=example-2.0/ make-upstream +}