summaryrefslogtreecommitdiff
path: root/dgit
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2017-01-25 15:44:42 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2017-01-25 15:44:43 +0000
commit264ba387d05192ca4825eeddfeb7bbdab558ec8a (patch)
tree59f85a527aec7f64fc45ceb870c643830ccb97f7 /dgit
parent4f89b4d20f0663710396f37b3b53fd32cc71b090 (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>
Diffstat (limited to 'dgit')
-rwxr-xr-xdgit6
1 files changed, 6 insertions, 0 deletions
diff --git a/dgit b/dgit
index af14e3f..9cdf96b 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 <<END if $cd->[0] =~ m/UNRELEASED/;
+$cd->[1] is $cd->[0]
+Your tree seems to based on earlier (not uploaded) $v.
+END
}
}