summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog5
-rwxr-xr-xdgit6
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.
--
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
}
}