chiark / gitweb /
dgit: Better error message if non-split-brain patch stack no longer applies
[dgit.git] / dgit
diff --git a/dgit b/dgit
index fa926dd0096d4db23a4a5af959030f6f4ccef7f2..c1b1c25374aeaae483ccee3fbb67bdb229d66863 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -4456,8 +4456,17 @@ sub quilt_fixup_multipatch ($$$) {
 
     ensuredir '.pc';
 
-    runcmd qw(sh -ec),
-        'exec dpkg-source --before-build . >/dev/null';
+    my @bbcmd = (qw(sh -ec), 'exec dpkg-source --before-build . >/dev/null');
+    $!=0; $?=-1;
+    if (system @bbcmd) {
+       failedcmd @bbcmd if $? < 0;
+       fail <<END;
+failed to apply your git tree's patch stack (from debian/patches/) to
+ the corresponding upstream tarball(s).  Your source tree and .orig
+ are probably too inconsistent.  dgit can only fix up certain kinds of
+ anomaly (depending on the quilt mode).  See --quilt= in dgit(1).
+END
+    }
 
     changedir '..';