t-setup-import examplegit
t-tstunt-parsechangelog
+t-git-config dgit.default.distro foreign
+t-git-config dgit-distro.foreign.cmd-git false
+
prep () {
dscf=$tmp/mirror/pool/main/example_$v.dsc
}
check () {
+ pd=$p.$suite
+ t-refs-same-start
+
t-archive-none $p
t-archive-query $suite
- t-dgit clone $p stable $p.cloned
- cd $p.cloned
+ t-dgit clone $p $suite $pd
+ cd $pd
t-ref-head
+ $1
+
+ local distro=''
t-dgit import-dsc $dscf +imported
t-ref-same refs/heads/imported
cd ..
}
+reset () {
+ cd ..
+ rm -rf $pd
+ mkdir $pd
+ cd $pd
+ git init
+}
+
+: ---------- newer ----------
+
+suite=sid
+v=2.1
+prep
+
+perl -i~ -pe 's/^Dgit: .*/$& EXTRA DATA\n TO BE IGNORED/' $dscf
+
+check reset
+
+: ---------- newline ----------
+
+suite=testing
+v=2.0
+prep
+
+perl -i~ -pe 's/^(Dgit: \w+ \S+ \S+) (.*)/$1\n $2 EXTRA/' $dscf
+
+check reset
+
: ---------- older ----------
suite=stable
v=1.2
-
prep
perl -i -pe 's/^(Dgit: \w+).*/$1/' $dscf
-dgit_config_debian_alias='-cdgit-distro.debian.alias-canon=test-dummy'
-# old Dgit fields are supposed to mean Debian
-
check
-#t-ok
+: ---------- expect fail ----------
+
+pd=$p.fail
+
+t-git-config dgit.default.old-dsc-distro downstream
+
+t-expect-fail 'no configured url and .dsc provides no hint' \
+t-dgit clone $p $suite $pd
+
+
+t-ok