X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Flib;h=6401f933c9989ec169899500a6c215bbef8113b2;hb=da5cdbc5bca7a170e624706399dcc6a4fedf396a;hp=ddef5f021a37e9d4dbb7a16f87b9374b44806ad5;hpb=6ce82b29dc651abd46de2cc36c07f41f02c159ed;p=dgit.git diff --git a/tests/lib b/tests/lib index ddef5f02..6401f933 100644 --- a/tests/lib +++ b/tests/lib @@ -228,7 +228,7 @@ t-archive-none () { >$tmp/aq/package.new.$p t-archive-updated new $p - ln -s $suite $tmp/aq/dsc_in_suite/$sname + ln -sf $suite $tmp/aq/dsc_in_suite/$sname cat <>$tmp/aq/suites $jsondelim @@ -566,7 +566,7 @@ t-pushed-good-core () { git verify-tag `t-v-tag` } -t-gbp-pushed-good--unpack () { +t-splitbrain-pushed-good--unpack () { cd $tmp rm -rf t-unpack mkdir t-unpack @@ -580,21 +580,20 @@ t-gbp-pushed-good--unpack () { git fetch ../../$p "refs/tags/*:refs/tags/*" } -t-gbp-pushed-good--checkprep () { +t-splitbrain-pushed-good--checkprep () { git add -Af . git rm --cached -r --ignore-unmatch .pc } -t-gbp-pushed-good--checkdiff () { +t-splitbrain-pushed-good--checkdiff () { local tag=$1 - t-gbp-pushed-good--checkprep + t-splitbrain-pushed-good--checkprep t-output "" git diff --stat --cached $tag } -t-gbp-pushed-good () { - local suite=${1:-sid} - local dep14tag=refs/tags/test-dummy/${v//\~/_} - local dgittag=$(t-v-tag) +t-splitbrain-pushed-good-start () { + dep14tag=refs/tags/test-dummy/${v//\~/_} + dgittag=$(t-v-tag) t-output "" git status --porcelain t-ref-head t-refs-same $dep14tag @@ -606,8 +605,27 @@ t-gbp-pushed-good () { t-incoming-dsc - t-gbp-pushed-good--unpack - t-gbp-pushed-good--checkdiff $dgittag + t-splitbrain-pushed-good--unpack + t-splitbrain-pushed-good--checkdiff $dgittag +} +t-splitbrain-pushed-good-end-made-dep14 () { + t-splitbrain-pushed-good--checkdiff $dep14tag + cd $tmp/$p +} + +t-splitbrain-rm-gitignore-patch () { + perl -i -pe ' + next unless $_ eq "auto-gitignore\n"; + die if $counter++; + chomp; + rename "debian/patches/$_", "../t-auto-gitignore" or die $!; + $_ = ""; + ' debian/patches/series +} + +t-gbp-pushed-good () { + local suite=${1:-sid} + t-splitbrain-pushed-good-start # Right, now we want to check that the maintainer tree and # the dgit tree differ in exactly the ways we expect. We @@ -615,20 +633,14 @@ t-gbp-pushed-good () { # from the dgit tree. # So, unpack it withut the patches applied - t-gbp-pushed-good--unpack --skip-patches + t-splitbrain-pushed-good--unpack --skip-patches # dgit might have added a .gitignore patch, which we need to # drop and remove - perl -i -pe ' - next unless $_ eq "auto-gitignore\n"; - die if $counter++; - chomp; - rename "debian/patches/$_", "../t-auto-gitignore" or die $!; - $_ = ""; - ' debian/patches/series + t-splitbrain-rm-gitignore-patch # Now the result should differ only in non-debian/ .gitignores - t-gbp-pushed-good--checkprep + t-splitbrain-pushed-good--checkprep git diff --cached --name-only $dep14tag >../changed perl -ne ' next if !m#^debian/# && m#(^|/)\.gitignore#; @@ -640,9 +652,21 @@ t-gbp-pushed-good () { if [ -f ../t-auto-gitignore ]; then patch --backup-if-mismatch -p1 -u <../t-auto-gitignore fi - t-gbp-pushed-good--checkdiff $dep14tag - cd $tmp/$p + t-splitbrain-pushed-good-end-made-dep14 +} + +t-unapplied-pushed-good () { + t-splitbrain-pushed-good-start + t-splitbrain-pushed-good--unpack --skip-patches + t-splitbrain-pushed-good-end-made-dep14 +} + +t-dpm-pushed-good () { + t-splitbrain-pushed-good-start + t-splitbrain-pushed-good--unpack + t-splitbrain-rm-gitignore-patch + t-splitbrain-pushed-good-end-made-dep14 } t-commit-build-push-expect-log () { @@ -672,11 +696,13 @@ t-stunt-envvar () { local var=$1 local tstunt=$2 eval ' - case "'$var'" in + case "$'$var'" in "$tstunt:"*) ;; *":$tstunt:"*) ;; + "") '$var'="$tstunt" ;; *) '$var'="$tstunt:$'$var'" ;; esac + export '$var' ' } @@ -738,6 +764,18 @@ t-gbp-unapplied-pq2qc () { git commit -m 'Commit patch queue' } +t-git-pseudo-merge () { + # like git merge -s ours + if [ ! "$git_pseuomerge_opts" ]; then + if git merge --help \ + | grep -q allow-unrelated-histories; then + git_pseuomerge_opts='--allow-unrelated-histories' + fi + git_pseuomerge_opts+=' -s ours' + fi + git merge $git_pseuomerge_opts "$@" +} + t-gbp-example-prep () { t-tstunt-parsechangelog t-archive example 1.0-1 @@ -748,7 +786,7 @@ t-gbp-example-prep () { t-dgit fetch - git-checkout -b patch-queue/quilt-tip-2 patch-queue/quilt-tip + git checkout -b patch-queue/quilt-tip-2 patch-queue/quilt-tip gbp pq rebase echo '/* some comment */' >>src.c @@ -759,7 +797,7 @@ t-gbp-example-prep () { t-commit 'some updates' 1.0-2 - git merge -s ours \ + t-git-pseudo-merge \ -m 'Pseudo-merge to make descendant of archive' \ remotes/dgit/dgit/sid } @@ -806,7 +844,7 @@ t-drs () { t-newtag () { export tagpfx=archive/test-dummy - t-git-config dgit-distro.test-dummy.dgit-tag-format new + t-git-config dgit-distro.test-dummy.dgit-tag-format new,maint } t-oldtag () { t-git-config dgit-distro.test-dummy.dgit-tag-format old