From: Ian Jackson Date: Thu, 22 Aug 2013 12:20:58 +0000 (+0100) Subject: Better checking that the supplied .dsc and debian/changes correspond. X-Git-Tag: debian/0.4_pre1~13 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=5d801671f8126208d31fb1649edd152165f5a999 Better checking that the supplied .dsc and debian/changes correspond. --- diff --git a/debian/changelog b/debian/changelog index 328c744e..dc9e5ab2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ dgit (0.4) experimental; urgency=low * Fail if a required config item is missing. * Much better error messages. * Better error checking when parsing RFC822-style control data. + * Better checking that the supplied .dsc and debian/changes correspond. -- diff --git a/dgit b/dgit index b136ed98..fcc792d6 100755 --- a/dgit +++ b/dgit @@ -724,8 +724,12 @@ sub dopush () { fail "looked for .dsc $dscfn, but $!;". " maybe you forgot to build"; $dsc = parsecontrol("../$dscfn","$dscfn"); + my $dscpackage = getfield $dsc, 'Source'; my $format = getfield $dsc, 'Format'; my $dversion = getfield $dsc, 'Version'; + ($dscpackage eq $package && $dversion eq $cversion) + fail "$dsc is for $dscpackage $dversion". + " but debian/changelog is for $package $cversion"; print DEBUG "format $format\n"; if ($format eq '3.0 (quilt)') { print "Format \`$format', urgh\n";