summaryrefslogtreecommitdiff
path: root/dgit
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2016-10-09 19:50:16 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2016-10-10 01:01:11 +0100
commitafee8943fd120d9f99b3a5890cf2625e12815f5d (patch)
tree9b2c8bf3cde5f2d10c76909397f317ccbcbcec85 /dgit
parent1d4cb805d52d1924bedf9b0e8bb19df0e897ea3e (diff)
dgit: Better error message if non-split-brain patch stack no longer applies
(due to new upstream version, or user messing with it). Closes:#833025. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'dgit')
-rwxr-xr-xdgit13
1 files changed, 11 insertions, 2 deletions
diff --git a/dgit b/dgit
index fa926dd..c1b1c25 100755
--- 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 '..';