#   Copyright
#
#	Copyright (C) 2013-2025 Jari Aalto
#
#   License
#
#       This program is free software; you can redistribute it and/or modify
#       it under the terms of the GNU General Public License as published by
#       the Free Software Foundation; either version 2 of the License, or
#       (at your option) any later version.
#
#       This program is distributed in the hope that it will be useful,
#       but WITHOUT ANY WARRANTY; without even the implied warranty of
#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#       GNU General Public License for more details.
#
#       You should have received a copy of the GNU General Public License
#       along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#   Description
#
#	To learn what TOP LEVEL sections to use in manual page,
#	see POSIX/Susv standard about "Utility Description Defaults" at
#	http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap01.html#tag_01_11
#
#	This manual page in Perl POD format. Read more at
#	http://perldoc.perl.org/perlpod.html or run command:
#
#	    perldoc perlpod | less
#
#	To check the syntax:
#
#	    podchecker *.pod
#
#	To create manual:
#
#	    pod2man PROGRAM.N.pod > PROGRAM.N

=pod

=head1 NAME

splitpatch - split a patch up into files or hunks

=head1 SYNOPSIS

  splitpatch [options]

=head1 DESCRIPTION

Divide a patch or diff file into pieces. The split can made by file
or by hunk basis. This makes is possible to separate changes that
might not be desirable, or assemble a patch into more coherent set
of changes.

The hunk option makes it possible to compare similar patches on a
hunk-by-hunk basis using a tool like interdiff(1) from the patchutils package.

=head1 OPTIONS

=over 4

=item B<-H, --hunk, --hunks>

Split patch by hunks instead of the default: by file.

=item B<-f, --fullname>

Use the full path of filenames to determine the patch filename.

=item B<-h, --help>

Display help and exit

=item B<-V, --version>

Output version information and exit.

=back

=head1 EXAMPLES

Have you ever been working on code, gone off on a side tangent and
then realized you don't have a patch for the original issue you
set out to address?  When you run C<diff -u> or some other diff command,
you discover that you have made multiple sets of changes; some
you want to submit, others you don't. What you really want to do is
break those changes apart and apply only the ones you want. This is
where splitpatch comes into play, breaking up the patch by source file:

    splitpatch changes.patch

Or to split the patch file into individual hunks which can later be
applied using the patch(1) command:

    splitpatch --hunks changes.patch

=head1 ENVIRONMENT

None.

=head1 FILES

The B<--hunk> option writes sequentially numbered files in the current
directory named for the source file to be patched followed by the 
sequence number: C<*-NNN.patch>.

Otherwise, the split patch files are named by the source file being
patched.

=head1 STANDARDS

None.

=head1 AVAILABILITY

https://github.com/benjsc/splitpatch

=head1 SEE ALSO

dehtmldiff(1)
editdiff(1)
filterdiff(1)
fixcvsdiff(1)
flipdiff(1)
grepdiff(1)
interdiff(1)
lsdiff(1)
patch(1)
recountdiff(1)
rediff(1)
splitdiff(1)
unwrapdiff(1)
wiggle(1)

=head1 AUTHORS

Program was written by Peter Hutterer <peter.hutterer@who-t.net>,
Benjamin Close <Benjamin.Close@clearchain.com>. Enhancements by
Jari Aalto <jari.aalto@cante.net>.

This manual page was written by Jari Aalto <jari.aalto@cante.net>.
Released under license GNU GPL version 2 or (at your option) any later
version. For more information about the license, visit
<http://www.gnu.org/copyleft/gpl.html>.

=cut
