chiark / gitweb /
Provide --force-unrepresentable.
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 16 Oct 2016 20:02:38 +0000 (21:02 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 23 Oct 2016 16:01:38 +0000 (17:01 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
debian/changelog
dgit
dgit.1

index a283b15..34ea9d8 100644 (file)
@@ -2,6 +2,7 @@ dgit (2.7~) unstable; urgency=medium
 
   * dgit(1): Reorder the options, moving more important ones earlier.
   * dgit(1): Some more info about --deliberately.
+  * Provide --force-unrepresentable.
 
  --
 
diff --git a/dgit b/dgit
index 33306da..5fa500c 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -73,7 +73,7 @@ our $tagformat_want;
 our $tagformat;
 our $tagformatfn;
 
-our %forceopts = map { $_=>0 } ();
+our %forceopts = map { $_=>0 } qw(unrepresentable);
 
 our %format_ok = map { $_=>1 } ("1.0","3.0 (native)","3.0 (quilt)");
 
@@ -4613,7 +4613,7 @@ END
     if (@unrepres) {
        print STDERR "dgit:  cannot represent change: $_->[1]: $_->[0]\n"
            foreach @unrepres;
-       fail <<END;
+       forceable_fail [qw(unrepresentable)], <<END;
 HEAD has changes to .orig[s] which are not representable by `3.0 (quilt)'
 END
     }
diff --git a/dgit.1 b/dgit.1
index d6ac8b2..f7cbfbf 100644 (file)
--- a/dgit.1
+++ b/dgit.1
@@ -721,6 +721,21 @@ instead.  Furthermore, the specified directory will be emptied,
 removed and recreated before dgit starts, rather than removed
 after dgit finishes.  The directory specified must be an absolute
 pathname.
+.TP
+.BI --force- something
+Instructs dgit to try to proceed despite detecting
+what it thinks is going to be a fatal problem.
+.B This is probably not going to work.
+These options are provided as an escape hatch,
+in case dgit is confused.
+(They might also be useful for testing error cases.)
+.TP
+.B --force-unrepresentable
+Carry on even if
+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.
 .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