our %format_ok = map { $_=>1 } ("1.0","3.0 (native)","3.0 (quilt)");
our $suite_re = '[-+.0-9a-z]+';
-our $cleanmode_re = qr{(?:dpkg-source(?:-d)?|git|git-ff|check|none)};
+our $cleanmode_re = qr{(?: dpkg-source (?: -d )?
+ | git | git-ff
+ | check (?: ,ignores )?
+ | none
+ )}x;
our $git_authline_re = '^([^<>]+) \<(\S+)\> (\d+ [-+]\d+)$';
our $splitbraincache = 'dgit-intern/quilt-cache';
# the rules clean target which might modify tracked files (!)
if ($cleanmode =~ m{^check}) {
my @cmd = (@git, qw(clean -dn));
- push @cmd, qw(-x);
+ push @cmd, qw(-x) unless $cleanmode =~ m{ignores};
my $leftovers = cmdoutput @cmd;
if (length $leftovers) {
print STDERR $leftovers, "\n" or confess $!;
} elsif (s/^-wc$//s) {
push @ropts, $&;
$cleanmode = 'check';
+ } elsif (s/^-wci$//s) {
+ push @ropts, $&;
+ $cleanmode = 'check,ignores';
} elsif (s/^-c([^=]*)\=(.*)$//s) {
push @git, '-c', $&;
$gitcfgs{cmdline}{$1} = [ $2 ];