=head1 NAME

multidelta - heuristic minimizer of interesting files

=head1 SYNOPSIS

B<multidelta> [options] I<test-script> I<initial-file> [I<initial-file>...]

=head1 DESCRIPTION

Delta assists you in minimizing "interesting" files subject to a test of their
interestingness. A common such situation is when attempting to isolate a small
failure-inducing substring of a large input that causes your program to exhibit
a bug.

You supply B<multidelta> with

=over 2

=item *

a test shell script which decides if the input files are "interesting"
(I<test-script>) and

=item *

an initial set of input files.

=back

When the script is run with a source file as an argument, it should do any
single-file integrity checks on that file.  Then, it should proceed to check
the entire build, on the assumption that all other files have already passed
their integrity checks.

When the script is run with no arguments, it should check integrity of all
files and then check the build.

So that the script does not need to have the list of input files hard-coded in,
the environment variable C<multidelta_all_files> is always set to a
space-separated list of the filenames no matter how the script is run.

=head1 OPTIONS

=over 4

=item B<-level>=I<n>

When L<topformflatten(1)>ing, flatten to level I<n>. The default is 0.

=item B<-u>

Undo the last invocation, by copying the I<*.bak> files onto the original
copies.

=item B<-cpp>

Before flattening run the source through the L<cpp(1)> preprocessor.

=back

=head1 SEE ALSO

L<singledelta(1)>, L<topformflat(1)>

L<Delta Debugging project|http://www.st.cs.uni-sb.de/dd/>

=cut
