X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Flib-gdr;h=ac4a476ea3596ba34cd87f85c24b654a8c6d6889;hp=74c571ab7743aa2bd7e705a96ec06f943206ddb7;hb=fe0439371d17132ccb6b7a00f1ee57c0576e44fc;hpb=4cffe29436a86c6aa974db00201cabae1448e0c7 diff --git a/tests/lib-gdr b/tests/lib-gdr index 74c571ab..ac4a476e 100644 --- a/tests/lib-gdr +++ b/tests/lib-gdr @@ -22,10 +22,13 @@ t-gdr-good () { git diff --quiet ${beforetag-t.before} -- ':.' ':!debian/patches' - local etype netype + 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 @@ -43,28 +46,51 @@ t-gdr-good () { 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 @@ -72,13 +98,9 @@ t-gdr-good () { 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` @@ -95,6 +117,8 @@ t-gdr-good () { 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)" @@ -107,6 +131,8 @@ t-some-changes () { git add $f done git commit -m "MIXED add both ($token)" + + t-git-next-date } t-make-new-upstream-tarball () { @@ -118,3 +144,90 @@ t-make-new-upstream-tarball () { ust=example_$uv.orig.tar.gz git archive -o ../$ust --prefix=example-2.0/ make-upstream } + +t-nmu-upload-1 () { + # usage: + # v= + # nmu-upload-1 + # gbp pq import or perhaps other similar things + # nmu-upload-2 + # maybe make some dgit-covertible commits + # nmu-upload-3 + + t-git-next-date + nmubranch=$1 + git checkout -f -b $nmubranch + t-git-debrebase + t-git-debrebase convert-to-gbp + t-git-next-date + # now we are on a gbp patched-unapplied branch +} + + +t-nmu-upload-2 () { + t-git-next-date + t-dch-commit -v $v -m "nmu $nmubranch $v" +} + +t-nmu-upload-3 () { + t-dch-commit -r sid + + t-dgit -wgf build-source + + cd .. + c=${p}_${v}_source.changes + debsign -kBCD22CD83243B79D3DFAC33EA3DBCBC039B13D8A $c + dput -c $tmp/dput.cf test-dummy $c + + t-archive-process-incoming sid + t-git-next-date + cd $p + git checkout master +} + +t-nmu-commit-an-upstream-change () { + echo >>newsrc.c "// more upstream" + git add newsrc.c + git commit -m 'UPSTREAM NMU' +} + +t-maintainer-commit-some-changes () { + t-dch-commit -v$v -m "start $v" + + t-some-changes "maintainer $v" + t-git-debrebase + t-git-debrebase stitch + + git branch did.maintainer + + t-git-next-date +} + +t-nmu-causes-ff-fail () { + t-expect-fail E:'Not.*fast-forward' \ + git merge --ff-only dgit/dgit/sid +} + +t-nmu-reconciled-good () { + local nmutree=$1 + + : 'check that what we have is what is expected' + + git checkout -b compare.nmu origin/master~0 + git checkout $nmutree . + git rm -rf debian/patches + git commit -m 'rm patches nmu' + + git checkout -b compare.maintainer origin/master~0 + git checkout did.maintainer . + git rm -rf --ignore-unmatch debian/patches + git commit --allow-empty -m 'rm patches maintainer' + + git merge compare.nmu + git diff --quiet master + + : 'check that dgit still likes it' + + git checkout master + t-dgit -wgf quilt-fixup +}