aboutsummaryrefslogtreecommitdiffstats
path: root/patch_cmds/diffstat/diffstat.1
diff options
context:
space:
mode:
authorCameron Katri <me@cameronkatri.com>2021-05-09 14:20:58 -0400
committerCameron Katri <me@cameronkatri.com>2021-05-09 14:20:58 -0400
commit5fd83771641d15c418f747bd343ba6738d3875f7 (patch)
tree5abf0f78f680d9837dbd93d4d4c3933bb7509599 /patch_cmds/diffstat/diffstat.1
downloadapple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.tar.gz
apple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.tar.zst
apple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.zip
Import macOS userland
adv_cmds-176 basic_cmds-55 bootstrap_cmds-116.100.1 developer_cmds-66 diskdev_cmds-667.40.1 doc_cmds-53.60.1 file_cmds-321.40.3 mail_cmds-35 misc_cmds-34 network_cmds-606.40.1 patch_cmds-17 remote_cmds-63 shell_cmds-216.60.1 system_cmds-880.60.2 text_cmds-106
Diffstat (limited to 'patch_cmds/diffstat/diffstat.1')
-rw-r--r--patch_cmds/diffstat/diffstat.1235
1 files changed, 235 insertions, 0 deletions
diff --git a/patch_cmds/diffstat/diffstat.1 b/patch_cmds/diffstat/diffstat.1
new file mode 100644
index 0000000..d7c0345
--- /dev/null
+++ b/patch_cmds/diffstat/diffstat.1
@@ -0,0 +1,235 @@
+.\"*****************************************************************************
+.\" Copyright 1994-2009,2010 by Thomas E. Dickey *
+.\" All Rights Reserved. *
+.\" *
+.\" Permission to use, copy, modify, and distribute this software and its *
+.\" documentation for any purpose and without fee is hereby granted, provided *
+.\" that the above copyright notice appear in all copies and that both that *
+.\" copyright notice and this permission notice appear in supporting *
+.\" documentation, and that the name of the above listed copyright holder(s) *
+.\" not be used in advertising or publicity pertaining to distribution of the *
+.\" software without specific, written prior permission. *
+.\" *
+.\" THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD *
+.\" TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND *
+.\" FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE *
+.\" FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES *
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN *
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR *
+.\" IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *
+.\"*****************************************************************************
+.\" $Id: diffstat.1,v 1.30 2012/01/02 19:20:26 tom Exp $
+.TH DIFFSTAT 1
+.SH NAME
+\fBdiffstat\fP \- make histogram from diff-output
+.SH SYNOPSIS
+\fBdiffstat\fP\fI [options] [file-specifications]\fP
+.SH DESCRIPTION
+This program reads the output of \fBdiff\fP and displays a histogram
+of the insertions, deletions, and modifications per-file.
+Diffstat is a program that is useful for reviewing large, complex patch files.
+It reads from one or more input files which contain output from \fBdiff\fP,
+producing a histogram of the total lines changed for each file referenced.
+.PP
+If the input filename ends with .bz2, .gz, .lzma, .z or .Z,
+diffstat will read the
+uncompressed data via a pipe from the corresponding program.
+It also can infer the compression type from files piped via the standard input.
+.PP
+Diffstat recognizes the most popular types of output from diff:
+.RS
+.TP
+unified
+preferred by the \fBpatch\fP utility.
+.TP
+context
+best for readability, but not very compact.
+.TP
+default
+not good for much, but simple to generate.
+.RE
+.PP
+\fBDiffstat\fP detects the lines that are output by \fBdiff\fP to
+tell which files are compared, and then counts the markers in the
+first column that denote the type of change (insertion, deletion
+or modification).
+These are shown in the histogram as "+", "\-" and "!" characters.
+.PP
+If no filename is given on the command line,
+\fBdiffstat\fP reads the differences from the standard input.
+.SH OPTIONS
+.TP
+.B \-b
+ignore lines matching "Binary files XXX and YYY differ" in the diff
+.TP
+.B \-c
+prefix each line of output with "#", making it a comment-line for shell
+scripts.
+.TP
+.B \-C
+add SGR color escape sequences to highlight the histogram.
+.TP
+.BI \-D " destination"
+specify a directory containing files which can be referred to as
+the result of applying the differences.
+\fBdiffstat\fP will count the lines in the corresponding files
+(after adjusting the names by the \fB\-p\fP option)
+to obtain the total number of lines in each file.
+.IP
+The remainder, after subtracting modified and deleted lines,
+is shown as "unchanged lines".
+.TP
+.BI \-e " file"
+redirect standard error to \fIfile\fR.
+.TP
+.BI \-f " format"
+specify the format of the histogram.
+.RS
+.TP 3
+0
+for concise, which shows only the value and a single histogram code for each of
+insert (+),
+delete (\-) or
+modify (!)
+.TP 3
+1
+for normal output,
+.TP 3
+2
+to fill in the histogram with dots,
+.TP 3
+4
+to print each value with the histogram.
+.RE
+.IP
+Any nonzero value gives a histogram.
+The dots and individual values can be combined,
+e.g., \fB\-f6\fP gives both.
+.TP
+.B \-h
+prints the usage message and exits.
+.TP
+.B \-k
+suppress the merging of filenames in the report.
+.TP
+.B \-l
+lists only the filenames.
+No histogram is generated.
+.TP
+.B \-m
+merge insert/delete counts from each "chunk" of the patch file to
+approximate a count of the modified lines.
+.TP
+.BI \-n " number"
+specify the minimum width used for filenames.
+If you do not specify this, \fBdiffstat\fP uses the length of the longest
+filename, after stripping common prefixes.
+.TP
+.BI \-N " number"
+specify the maximum width used for filenames.
+Names longer than this limit are truncated on the left.
+If you do not specify this, \fBdiffstat\fP next checks the \fB\-n\fP option.
+.TP
+.BI \-o " file"
+redirect standard output to \fIfile\fR.
+.TP
+.BI \-p " number"
+override the logic that strips common pathnames, simulating the \fBpatch\fP
+"\-p" option.
+.TP
+.B \-q
+suppress the "0 files changed" message for empty diffs.
+.TP
+.B \-r " code"
+provides optional rounding of the data shown in histogram,
+rather than truncating with error adjustments.
+.RS
+.TP 3
+0
+is the default.
+No rounding is performed,
+but accumulated errors are added to following columns.
+.TP 3
+1
+rounds the data
+.TP 3
+2
+rounds the data and adjusts the histogram to ensure that
+it displays something if there are any differences even if
+those would normally be rounded to zero.
+.RE
+.TP
+.B \-R
+Assume patch was created with old and new files swapped.
+.TP
+.BI \-s
+show only the summary line, e.g., number of insertions and deletions.
+.TP
+.BI \-S " source"
+this is like the \fB\-D\fP option, but specifies a location where
+the original files (before applying differences) can be found.
+.TP
+.B \-t
+overrides the histogram,
+generates output of comma separated values.
+.TP
+.B \-u
+suppress the sorting of filenames in the report.
+.TP
+.B \-v
+show progress,
+e.g., if the output is redirected to a file,
+write progress messages to the standard error.
+.TP
+.B \-V
+prints the current version number and exits.
+.TP
+.BI \-w " number"
+specify the maximum width of the histogram.
+The histogram will never be shorter than 10 columns,
+just in case the filenames get too large.
+.SH ENVIRONMENT
+.PP
+\fBDiffstat\fP runs in a portable UNIX\*R environment.
+.PP
+You can override the compiled-in paths of programs used for decompressing
+input files by setting environment variables corresponding to their name:
+.sp
+.RS
+.nf
+DIFFSTAT_BZCAT_PATH
+DIFFSTAT_BZIP2_PATH
+DIFFSTAT_COMPRESS_PATH
+DIFFSTAT_GZIP_PATH
+DIFFSTAT_LZCAT_PATH
+DIFFSTAT_PCAT_PATH
+DIFFSTAT_UNCOMPRESS_PATH
+DIFFSTAT_XZ_PATH
+DIFFSTAT_ZCAT_PATH
+.fi
+.RE
+.PP
+However, \fBdiffstat\fP assumes that the resulting program uses the
+same command-line options, e.g., "\-c" to decompress to the standard output.
+.SH FILES
+.PP
+\fBDiffstat\fP is a single binary module, which uses no auxiliary files.
+.SH BUGS
+.PP
+\fBDiffstat\fP makes a lot of assumptions about the format of a \fBdiff\fP file.
+.PP
+There is no way to obtain a filename from the standard diff between
+two files with no options.
+Context diffs work,
+as well as unified diffs.
+.PP
+There's no easy way to determine the degree of overlap between the
+"before" and "after" displays of modified lines.
+\fBdiffstat\fP simply counts the number of inserted and deleted lines
+to approximate modified lines for the \fB\-m\fP option.
+.SH SEE ALSO
+.PP
+.BR diff (1).
+.SH AUTHOR
+.PP
+Thomas Dickey <dickey@invisible-island.net>.