From: Ian Jackson Date: Wed, 25 Jan 2017 15:44:42 +0000 (+0000) Subject: dgit --overwrite: Check $gf->('Distribution') X-Git-Tag: archive/debian/3.9~4 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;ds=sidebyside;h=264ba387d05192ca4825eeddfeb7bbdab558ec8a;p=dgit.git dgit --overwrite: Check $gf->('Distribution') Check that the overwritten version's changelog entry is not UNRELEASED. This could easily happen if this release was being made from a git branch which predates the previous package upload, with working practices which commit finalised UNRELEASED changelog entries with the complete version number for the next upload. (Such practices seem quite common.) Signed-off-by: Ian Jackson --- diff --git a/debian/changelog b/debian/changelog index 49464d89..d5bef7be 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,9 @@ dgit (3.9~) unstable; urgency=medium - * + Improvements: + * dgit --overwrite: Check that the overwritten version's changelog entry + is not UNRELEASED. This could easily happen if this release was being + made from a git branch which predates the previous package upload. -- diff --git a/dgit b/dgit index af14e3f9..9cdf96b5 100755 --- a/dgit +++ b/dgit @@ -3799,6 +3799,7 @@ sub pseudomerge_version_check ($$) { } else { my $v = $i_arch_v->[0]; progress "Checking package changelog for archive version $v ..."; + my $cd; eval { my @xa = ("-f$v", "-t$v"); my $vclogp = parsechangelog @xa; @@ -3809,12 +3810,17 @@ sub pseudomerge_version_check ($$) { }; my $cv = $gf->('Version'); infopair_cond_equal($i_arch_v, $cv); + $cd = $gf->('Distribution'); }; if ($@) { $@ =~ s/^dgit: //gm; fail "$@". "Perhaps debian/changelog does not mention $v ?"; } + fail <[0] =~ m/UNRELEASED/; +$cd->[1] is $cd->[0] +Your tree seems to based on earlier (not uploaded) $v. +END } }