diff options
-rw-r--r-- | debian/tests/control | 2 | ||||
-rwxr-xr-x | tests/tests/import-r1clog | 68 |
2 files changed, 69 insertions, 1 deletions
diff --git a/debian/tests/control b/debian/tests/control index cf719ac..89a9200 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -100,7 +100,7 @@ Tests: trustingpolicy-replay Tests-Directory: tests/tests Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin, bc, faketime, liburi-perl, dput-ng -Tests: absurd-gitapply build-modes build-modes-long build-modes-source checkout clone-clogsigpipe debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp debpolicy-taintrm defdistro-rpush defdistro-setup distropatches-reject dpkgsourceignores-correct drs-push-masterupdate drs-push-rejects dsd-divert fetch-localgitonly fetch-somegit-notlast forcesplit-linear forcesplit-overwrite gbp-orig gitconfig gitworktree import-dsc import-maintmangle import-native import-nonnative import-pushold import-tarbomb inarchivecopy mismatches-contents mismatches-dscchanges multisuite orig-include-exclude orig-include-exclude-chkquery overwrite-chkclog overwrite-junk overwrite-splitbrains overwrite-version pbuilder protocol-compat push-buildproductsdir push-newpackage push-newrepeat push-nextdgit push-source push-source-with-changes quilt quilt-gbp quilt-gbp-build-modes quilt-include-binaries quilt-singlepatch quilt-splitbrains quilt-useremail rpush rpush-quilt rpush-source sourceonlypolicy tag-updates unrepresentable unrepresentable-single-dpkg unrepresentable-single-git version-opt +Tests: absurd-gitapply build-modes build-modes-long build-modes-source checkout clone-clogsigpipe debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp debpolicy-taintrm defdistro-rpush defdistro-setup distropatches-reject dpkgsourceignores-correct drs-push-masterupdate drs-push-rejects dsd-divert fetch-localgitonly fetch-somegit-notlast forcesplit-linear forcesplit-overwrite gbp-orig gitconfig gitworktree import-dsc import-maintmangle import-native import-nonnative import-pushold import-r1clog import-tarbomb inarchivecopy mismatches-contents mismatches-dscchanges multisuite orig-include-exclude orig-include-exclude-chkquery overwrite-chkclog overwrite-junk overwrite-splitbrains overwrite-version pbuilder protocol-compat push-buildproductsdir push-newpackage push-newrepeat push-nextdgit push-source push-source-with-changes quilt quilt-gbp quilt-gbp-build-modes quilt-include-binaries quilt-singlepatch quilt-splitbrains quilt-useremail rpush rpush-quilt rpush-source sourceonlypolicy tag-updates unrepresentable unrepresentable-single-dpkg unrepresentable-single-git version-opt Tests-Directory: tests/tests Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin, bc, faketime, liburi-perl diff --git a/tests/tests/import-r1clog b/tests/tests/import-r1clog new file mode 100755 index 0000000..ae24d17 --- /dev/null +++ b/tests/tests/import-r1clog @@ -0,0 +1,68 @@ +#!/bin/bash +set -e +. tests/lib + +p=sunxi-tools +v_upstr=1.2 +v_base=$v_upstr-2 +v_input=$v_base.~~dgittest + +dpkg-source -x $troot/pkg-srcs/${p}_${v_input}.dsc unmang + +mkdir $p +cd $p +git init +cd .. + +perl-i-clog () { + perl -i "$@" debian/changelog +} + +mangle-start () { + mang=$1 + v="$v_base.$mang" + cp -al unmang $mang + cd $mang + perl-i-clog -pe 's{\~\~dgittest}{'$mang'} if $.==1' + cat >>debian/changelog <<'END' + +sunxi-tools (1.0-1) unstable; urgency=medium + + * Lies for dgit testing + + -- Example <example@example.org> Sat, 12 Jul 2011 20:51:56 +0100 +END +} +mangle-import () { + rm -f debian/*~ + dpkg-source -b . + cd ../$p + t-dgit import-dsc ../${p}_${v}.dsc $mang + git checkout $mang +} +mangle-done () { + cd .. +} + +mangle-start good +mangle-import + +: ---------- 'check that if all is well we make right author line' ---------- + +perl -ne <debian/changelog ' + next unless m{^'$p' \('$v_upstr'-1\) }...m{^\S}; + next unless m{^ -- (.*) (.*) ([-+]\d+)}; + $time_t = `date -d "$2 $3" +%s`; + chomp $time_t; + $authline = "$1 $time_t $3"; + print "author $authline\n"; + print "committer $authline\n"; + exit 0; +' >../headlines-exp +ch=$(git log -P --grep '^\[dgit import orig ' --pretty='format:%H') +git cat-file commit $ch | +perl -ne 'next if m/^$/..0; print if m/^(?:author|committer) /' \ + >../headlines-got-orig +diff ../headlines-exp ../headlines-got-orig + +mangle-done |