X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=tests%2Ftests%2Finarchivecopy;h=3f848815d551d4fea97947e371356def45fb6663;hb=89dc73a3211b6bdc5c70dc878ca5408f8d136577;hp=c3c06b89220cdfca5d85769202019fa793474b49;hpb=a889137c1c69f2731db20b61b22b42544de27e13;p=dgit.git diff --git a/tests/tests/inarchivecopy b/tests/tests/inarchivecopy index c3c06b89..3f848815 100755 --- a/tests/tests/inarchivecopy +++ b/tests/tests/inarchivecopy @@ -2,16 +2,78 @@ set -e . tests/lib -t-restrict x-dgit-unfinished - t-setup-import examplegit +t-tstunt-parsechangelog + +cd $p +git checkout -b dgit/stable dgit/dgit/stable +cd .. + +t-inarchive-copy () { + local vm=$1 + local from=${2:-sid} + local to=${3:-stable} + egrep "^${vm//./\\.}" aq/package.$from.$p >>aq/package.$to.$p + t-aq-archive-updated $to $p +} + +copy-check-good () { + git diff $vtag + t-refs-same refs/remotes/dgit/dgit/$tosuite + t-ref-head + t-has-parent-or-is HEAD $vtag +} + +copy-check () { + local vm=$1 + local tosuite=${2:-stable} + t-inarchive-copy $vm '' $tosuite + + vtag=$(v=$vm t-v-tag) + + cd $p + t-refs-same-start + t-dgit fetch $tosuite + git merge --ff-only dgit/dgit/$tosuite + + copy-check-good + local fetched; fetched=$(t-sametree-parent HEAD) + cd .. + + rm -rf example.cloned + t-dgit clone $p $tosuite example.cloned + + cd example.cloned + t-refs-same-start + copy-check-good + local cloned; cloned=$(t-sametree-parent HEAD) + cd .. + + rm -rf example.initd + mkdir example.initd + cd example.initd + git init + t-refs-same-start + t-dgit -p $p fetch $tosuite + git reset --hard refs/remotes/dgit/dgit/$tosuite + copy-check-good + local initd; initd=$(t-sametree-parent HEAD) + cd .. + + t-refs-same-start + t-ref-same-val fetched $fetched + t-ref-same-val cloned $cloned + t-ref-same-val initd $initd +} -cat aq/package.sid.$p >>aq/package.stable.example +copy-check 2.0 -t-archive-updated stable $p +copy-check 2.1 cd $p +git checkout -b dgit/testing $(v=1.1 t-v-tag) +cd .. -t-dgit fetch stable +copy-check 2.1 testing -xxx rest of test +t-ok