summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2014-01-19 01:09:13 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2014-01-19 01:09:13 +0000
commitc2a0ff7beedc33a80fa2e1eb4d09d7da170b0eb7 (patch)
tree21ade4af82817e940497b679618f701a92ce95b9
parent5dbf5d3d2ef07b059c732abe77d1657e3fc3f714 (diff)
Refuse to do quilt fixup (explicitly or as a result of build). Closes:#731632.
-rw-r--r--debian/changelog2
-rwxr-xr-xdgit11
2 files changed, 13 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index bfdb0e9..594eada 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,8 @@ dgit (0.21~~iwj) unstable; urgency=low
* Run a clean (of the specified type) before any build operation; do
this with `dpkg-buildpackage -T' clean if necessary, so -wd now works
with all the building methods.
+ * Refuse to do quilt fixup (explicitly or as a result of build).
+ Closes:#731632.
--
diff --git a/dgit b/dgit
index 7752d82..5c0ea82 100755
--- a/dgit
+++ b/dgit
@@ -1734,6 +1734,17 @@ sub build_maybe_quilt_fixup () {
chomp;
return unless madformat($_);
# sigh
+
+ my @cmd = (@git, qw(ls-files --exclude-standard -iodm));
+ my $problems = cmdoutput @cmd;
+ if (length $problems) {
+ print STDERR "problematic files:\n";
+ print STDERR " $_\n" foreach split /\n/, $problems;
+ fail "Cannot do quilt fixup in tree containing ignored files. ".
+ "Perhaps your package's clean target is broken, in which".
+ " case -wg (which says to use git-clean -xdf) may help.";
+ }
+
my $clogp = parsechangelog();
my $version = getfield $clogp, 'Version';
my $author = getfield $clogp, 'Maintainer';