chiark / gitweb /
Provide --force-unsupported-source-format
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 23 Oct 2016 15:47:29 +0000 (16:47 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 24 Oct 2016 00:50:22 +0000 (01:50 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
debian/changelog
dgit
dgit.1

index 0d30219..f9a21f8 100644 (file)
@@ -8,7 +8,7 @@ dgit (2.7~) unstable; urgency=medium
   Minor changes:
   * dgit(1): Reorder the options, moving more important ones earlier.
   * dgit(1): Some more info about --deliberately.
-  * Provide --force-unrepresentable.
+  * Provide various --force-something options.  Please don't use them.
 
  --
 
diff --git a/dgit b/dgit
index f821299..ea14ba5 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -74,7 +74,8 @@ our $tagformat_want;
 our $tagformat;
 our $tagformatfn;
 
-our %forceopts = map { $_=>0 } qw(unrepresentable);
+our %forceopts = map { $_=>0 }
+    qw(unrepresentable unsupported-source-format);
 
 our %format_ok = map { $_=>1 } ("1.0","3.0 (native)","3.0 (quilt)");
 
@@ -1308,7 +1309,9 @@ sub get_archive_dsc () {
        $dsc = parsecontrolfh($dscfh,$dscurl,1);
        printdebug Dumper($dsc) if $debuglevel>1;
        my $fmt = getfield $dsc, 'Format';
-       fail "unsupported source format $fmt, sorry" unless $format_ok{$fmt};
+       $format_ok{$fmt} or forceable_fail [qw(unsupported-source-format)],
+           "unsupported source format $fmt, sorry";
+           
        $dsc_checked = !!$digester;
        printdebug "get_archive_dsc: Version ".(getfield $dsc, 'Version')."\n";
        return;
diff --git a/dgit.1 b/dgit.1
index f7cbfbf..8178631 100644 (file)
--- a/dgit.1
+++ b/dgit.1
@@ -736,6 +736,10 @@ dgit thinks that your git tree contains changes
 (relative to your .orig tarballs)
 which dpkg-source is not able to represent.
 Your build or push will probably fail later.
+.TP
+.B --force-unsupported-source-format
+Carry on despite dgit not understanding your source package format.
+dgit will probably mishandle it.
 .SH WORKFLOW - SIMPLE
 It is always possible with dgit to clone or fetch a package, make
 changes in git (using git-commit) on the suite branch