summaryrefslogtreecommitdiff
path: root/dgit
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2016-10-23 16:55:41 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2016-10-24 02:05:08 +0100
commit0065acabe8a273a32c30043fc41ee063166d29ce (patch)
tree8a20f07a8a3f9320082e90179095ef4fc76975a0 /dgit
parent18e3479f8737622d5e3ff964652dade72f82c897 (diff)
Provide --force-dsc-changes-mismatch
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'dgit')
-rwxr-xr-xdgit14
1 files changed, 12 insertions, 2 deletions
diff --git a/dgit b/dgit
index ea14ba5..e22036b 100755
--- a/dgit
+++ b/dgit
@@ -75,7 +75,8 @@ our $tagformat;
our $tagformatfn;
our %forceopts = map { $_=>0 }
- qw(unrepresentable unsupported-source-format);
+ qw(unrepresentable unsupported-source-format
+ dsc-changes-mismatch);
our %format_ok = map { $_=>1 } ("1.0","3.0 (native)","3.0 (quilt)");
@@ -237,6 +238,14 @@ sub forceable_fail ($$) {
print STDERR "warning: overriding problem due to --force:\n". $msg;
}
+sub forceing ($) {
+ my ($forceoptsl) = @_;
+ my @got = grep { $forceopts{$_} } @$forceoptsl;
+ return 0 unless @got;
+ print STDERR
+ "warning: skipping checks or functionality due to --force-$got[0]\n";
+}
+
sub no_such_package () {
print STDERR "$us: package $package does not exist in suite $isuite\n";
exit 4;
@@ -3291,7 +3300,8 @@ END
# Check that changes and .dsc agree enough
$changesfile =~ m{[^/]*$};
- files_compare_inputs($dsc, parsecontrol($changesfile,$&));
+ files_compare_inputs($dsc, parsecontrol($changesfile,$&))
+ unless forceing [qw(dsc-changes-mismatch)];
# Checks complete, we're going to try and go ahead: