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 0d3021982126f68b84259bb844de6b2d1fec0640..f9a21f89a054e92444a4b726d13464530f45f79c 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 f821299f4d06e129de1be4ba6093fac50c867789..ea14ba523ca15b4aeafe3637d43e11c4fab2ec00 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 f7cbfbfb8f673f67b7daa4bf9b9142f0b40e6a4b..81786315c4366c30f6550f07902369d65f2b3ba3 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