diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2017-01-25 15:44:42 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2017-01-25 15:44:43 +0000 |
commit | 264ba387d05192ca4825eeddfeb7bbdab558ec8a (patch) | |
tree | 59f85a527aec7f64fc45ceb870c643830ccb97f7 | |
parent | 4f89b4d20f0663710396f37b3b53fd32cc71b090 (diff) |
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 <ijackson@chiark.greenend.org.uk>
-rw-r--r-- | debian/changelog | 5 | ||||
-rwxr-xr-x | dgit | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog index 49464d8..d5bef7b 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. -- @@ -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 <<END if $cd->[0] =~ m/UNRELEASED/; +$cd->[1] is $cd->[0] +Your tree seems to based on earlier (not uploaded) $v. +END } } |