LSDIFF(1)

NAME
lsdiff - show which files are modified by a patch

SYNOPSIS
lsdiff [-n] [-p n] [--strip= n] [--addprefix= PREFIX] [-s] [-i PATTERN] [-x PATTERN] [-v] [file...]

lsdiff {--help | --version | --filter ... | --grep ...}

DESCRIPTION

List the files modified by a patch.

You can use both unified and context format diffs with this program.

OPTIONS

-n  Display the line number that each patch begins at. If verbose output is requested, each hunk of each patch is listed as well.

-p n
    When matching, ignore the first n components of the pathname.

--strip=n
    Remove the first n components of the pathname before displaying it.

--addprefix=PREFIX
    Prefix the pathname with PREFIX before displaying it.

-s  Show file additions, modifications and removals. A file addition is indicated by a ``+'', a removal by a ``-'', and a modification by a ``!''.

-i PATTERN
    Include only files matching PATTERN.

-x PATTERN
    Exclude files matching PATTERN.

-v  Verbose output.

--help
    Display a short usage message.

--version
    Display the version number of lsdiff.

--filter
    Behave like filterdiff(1) instead.

--grep
    Behave like grepdiff(1) instead.

SEE ALSO

filterdiff(1), grepdiff(1)

EXAMPLES

To sort the order of touched files in a patch, you can use:

    lsdiff patch | sort -u | \
      xargs -rn1 filterdiff patch -i

To show only added files in a patch:

    lsdiff -s patch | grep '^+' | \
      cut -c2- | xargs -rn1 filterdiff patch -i

To show the headers of all file hunks:

    lsdiff -n patch | (while read n file
      do sed -ne "$n,$(($n+1))p" patch
    done)

AUTHOR
Tim Waugh <twaugh@redhat.com>.