diff options
authorIan Jackson <>2016-10-16 21:02:38 +0100
committerIan Jackson <>2016-10-23 17:01:38 +0100
commit37913654d58e03354aa4d5a6aa5afb9c5aeca6b7 (patch)
parent8e9303a546371cfa631ff5f16ea4d7fdcfa6fad8 (diff)
Provide --force-unrepresentable.
Signed-off-by: Ian Jackson <>
3 files changed, 18 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index a283b15..34ea9d8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -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
--- 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)'
diff --git a/dgit.1 b/dgit.1
index d6ac8b2..f7cbfbf 100644
--- 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
+.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.)
+.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.
It is always possible with dgit to clone or fetch a package, make
changes in git (using git-commit) on the suite branch