diff -U0 ../sums ../$sums
}
+sums_check_broken () {
+ # caller should cd into working directory, set
+ # $sums
+ # and check out the broken branch
+
+ sha256sum af/* >../$sums.broken
+
+ for s in ../sums ../$sums.broken; do
+ sed 's/[0-9a-f]* //' $s >$s.nosums
+ done
+ diff -U0 ../sums.nosums ../$sums.broken.nosums
+ set +e
+ diff -U0 ../sums ../$sums.broken
+ rc=$?
+ set -e
+ test $rc = 1
+}
+
+t-dgit-warn-check () {
+ local warnok=$1; shift
+ # warnok should be 0 if the warning is expected
+ # 1 if the warning is NOT expected
+
+ local err=stderr.$wd
+
+ LC_MESSAGES=C t-dgit "$@" 2>&1 |tee ../$err
+
+ set +e
+ egrep 'warning: .* contains \.gitattributes' ../$err
+ rc=$?
+ set -e
+
+ test "$rc" = "$warnok"
+}
+
sfmt_import () {
inst=$1
dgitargs=$2
branch="import.$sfmt-$inst"
- brkerr=stderr.$sfmt-$inst.broken
dscf=${p}_${v}.dsc
sums=sums.$sfmt-$inst
wd=$pdb-import-$inst
cd $wd
git init
- LC_MESSAGES=C \
- t-dgit $dgitargs import-dsc ../$dscf +$branch.broken \
- 2>&1 |tee ../$brkerr
- fgrep 'warning: source tree contains .gitattributes' ../$brkerr
+ t-dgit-warn-check 0 $dgitargs import-dsc ../$dscf +$branch.broken
+
git checkout $branch.broken
- sha256sum af/* >../$sums.broken
- for s in ../sums ../$sums.broken; do
- sed 's/[0-9a-f]* //' $s >$s.nosums
- done
- diff -U0 ../sums.nosums ../$sums.broken.nosums
- set +e
- diff -U0 ../sums ../$sums.broken
- rc=$?
- set -e
- test $rc = 1
+ sums_check_broken
t-dgit setup-new-tree
- t-dgit $dgitargs import-dsc ../$dscf +$branch
+ t-dgit-warn-check 1 $dgitargs import-dsc ../$dscf +$branch
git checkout $branch
+ touch af/*
git reset --hard
sums_check
sfmt_import norm
sfmt_import absurd --force-import-gitapply-absurd
-#t-ok
+: ----- 'test clone (with "3.0 (quilt)")' -----
+
+mv $origtar ${dscf%.dsc}.* $tmp/mirror/pool/main/
+t-archive-query sid
+
+t-dgit-warn-check 0 -cdgit.default.setup-gitattributes=false \
+ clone $p sid $p.clone.broken
+cd $p.clone.broken
+
+sums=$p.clone.broken
+sums_check_broken
+
+cd ..
+
+t-dgit-warn-check 1 clone $p sid $p.clone
+
+cd $p.clone
+sums=sums.clone
+branch=dgit/sid
+sums_check
+
+cd ..
+
+t-ok