 03aa87ed99
			
		
	
	03aa87ed99
	
	
	
		
			
			-z also alters the behaviour of --name-only and --name-status. Signed-off-by: Charles Bailey <charles@hashpling.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			303 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			303 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // Please don't remove this comment as asciidoc behaves badly when
 | |
| // the first non-empty line is ifdef/ifndef. The symptom is that
 | |
| // without this comment the <git-diff-core> attribute conditionally
 | |
| // defined below ends up being defined unconditionally.
 | |
| // Last checked with asciidoc 7.0.2.
 | |
| 
 | |
| ifndef::git-format-patch[]
 | |
| ifndef::git-diff[]
 | |
| ifndef::git-log[]
 | |
| :git-diff-core: 1
 | |
| endif::git-log[]
 | |
| endif::git-diff[]
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| ifdef::git-format-patch[]
 | |
| -p::
 | |
| --no-stat::
 | |
| 	Generate plain patches without any diffstats.
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| ifndef::git-format-patch[]
 | |
| -p::
 | |
| -u::
 | |
| 	Generate patch (see section on generating patches).
 | |
| 	{git-diff? This is the default.}
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| -U<n>::
 | |
| --unified=<n>::
 | |
| 	Generate diffs with <n> lines of context instead of
 | |
| 	the usual three.
 | |
| ifndef::git-format-patch[]
 | |
| 	Implies `-p`.
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| ifndef::git-format-patch[]
 | |
| --raw::
 | |
| 	Generate the raw format.
 | |
| 	{git-diff-core? This is the default.}
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| ifndef::git-format-patch[]
 | |
| --patch-with-raw::
 | |
| 	Synonym for `-p --raw`.
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| --patience::
 | |
| 	Generate a diff using the "patience diff" algorithm.
 | |
| 
 | |
| --stat[=width[,name-width]]::
 | |
| 	Generate a diffstat.  You can override the default
 | |
| 	output width for 80-column terminal by `--stat=width`.
 | |
| 	The width of the filename part can be controlled by
 | |
| 	giving another width to it separated by a comma.
 | |
| 
 | |
| --numstat::
 | |
| 	Similar to `\--stat`, but shows number of added and
 | |
| 	deleted lines in decimal notation and pathname without
 | |
| 	abbreviation, to make it more machine friendly.  For
 | |
| 	binary files, outputs two `-` instead of saying
 | |
| 	`0 0`.
 | |
| 
 | |
| --shortstat::
 | |
| 	Output only the last line of the `--stat` format containing total
 | |
| 	number of modified files, as well as number of added and deleted
 | |
| 	lines.
 | |
| 
 | |
| --dirstat[=limit]::
 | |
| 	Output the distribution of relative amount of changes (number of lines added or
 | |
| 	removed) for each sub-directory. Directories with changes below
 | |
| 	a cut-off percent (3% by default) are not shown. The cut-off percent
 | |
| 	can be set with `--dirstat=limit`. Changes in a child directory is not
 | |
| 	counted for the parent directory, unless `--cumulative` is used.
 | |
| 
 | |
| --dirstat-by-file[=limit]::
 | |
| 	Same as `--dirstat`, but counts changed files instead of lines.
 | |
| 
 | |
| --summary::
 | |
| 	Output a condensed summary of extended header information
 | |
| 	such as creations, renames and mode changes.
 | |
| 
 | |
| ifndef::git-format-patch[]
 | |
| --patch-with-stat::
 | |
| 	Synonym for `-p --stat`.
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| ifndef::git-format-patch[]
 | |
| 
 | |
| -z::
 | |
| ifdef::git-log[]
 | |
| 	Separate the commits with NULs instead of with new newlines.
 | |
| +
 | |
| Also, when `--raw` or `--numstat` has been given, do not munge
 | |
| pathnames and use NULs as output field terminators.
 | |
| endif::git-log[]
 | |
| ifndef::git-log[]
 | |
| 	When `--raw`, `--numstat`, `--name-only` or `--name-status` has been
 | |
| 	given, do not munge pathnames and use NULs as output field terminators.
 | |
| endif::git-log[]
 | |
| +
 | |
| Without this option, each pathname output will have TAB, LF, double quotes,
 | |
| and backslash characters replaced with `\t`, `\n`, `\"`, and `\\`,
 | |
| respectively, and the pathname will be enclosed in double quotes if
 | |
| any of those replacements occurred.
 | |
| 
 | |
| --name-only::
 | |
| 	Show only names of changed files.
 | |
| 
 | |
| --name-status::
 | |
| 	Show only names and status of changed files. See the description
 | |
| 	of the `--diff-filter` option on what the status letters mean.
 | |
| 
 | |
| --submodule[=<format>]::
 | |
| 	Chose the output format for submodule differences. <format> can be one of
 | |
| 	'short' and 'log'. 'short' just shows pairs of commit names, this format
 | |
| 	is used when this option is not given. 'log' is the default value for this
 | |
| 	option and lists the commits in that commit range like the 'summary'
 | |
| 	option of linkgit:git-submodule[1] does.
 | |
| 
 | |
| --color::
 | |
| 	Show colored diff.
 | |
| 
 | |
| --no-color::
 | |
| 	Turn off colored diff, even when the configuration file
 | |
| 	gives the default to color output.
 | |
| 
 | |
| --color-words[=<regex>]::
 | |
| 	Show colored word diff, i.e., color words which have changed.
 | |
| 	By default, words are separated by whitespace.
 | |
| +
 | |
| When a <regex> is specified, every non-overlapping match of the
 | |
| <regex> is considered a word.  Anything between these matches is
 | |
| considered whitespace and ignored(!) for the purposes of finding
 | |
| differences.  You may want to append `|[^[:space:]]` to your regular
 | |
| expression to make sure that it matches all non-whitespace characters.
 | |
| A match that contains a newline is silently truncated(!) at the
 | |
| newline.
 | |
| +
 | |
| The regex can also be set via a diff driver or configuration option, see
 | |
| linkgit:gitattributes[1] or linkgit:git-config[1].  Giving it explicitly
 | |
| overrides any diff driver or configuration setting.  Diff drivers
 | |
| override configuration settings.
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| --no-renames::
 | |
| 	Turn off rename detection, even when the configuration
 | |
| 	file gives the default to do so.
 | |
| 
 | |
| ifndef::git-format-patch[]
 | |
| --check::
 | |
| 	Warn if changes introduce trailing whitespace
 | |
| 	or an indent that uses a space before a tab. Exits with
 | |
| 	non-zero status if problems are found. Not compatible with
 | |
| 	--exit-code.
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| --full-index::
 | |
| 	Instead of the first handful of characters, show the full
 | |
| 	pre- and post-image blob object names on the "index"
 | |
| 	line when generating patch format output.
 | |
| 
 | |
| --binary::
 | |
| 	In addition to `--full-index`, output a binary diff that
 | |
| 	can be applied with `git-apply`.
 | |
| 
 | |
| --abbrev[=<n>]::
 | |
| 	Instead of showing the full 40-byte hexadecimal object
 | |
| 	name in diff-raw format output and diff-tree header
 | |
| 	lines, show only a partial prefix.  This is
 | |
| 	independent of the `--full-index` option above, which controls
 | |
| 	the diff-patch output format.  Non default number of
 | |
| 	digits can be specified with `--abbrev=<n>`.
 | |
| 
 | |
| -B::
 | |
| 	Break complete rewrite changes into pairs of delete and create.
 | |
| 
 | |
| -M::
 | |
| 	Detect renames.
 | |
| 
 | |
| -C::
 | |
| 	Detect copies as well as renames.  See also `--find-copies-harder`.
 | |
| 
 | |
| ifndef::git-format-patch[]
 | |
| --diff-filter=[ACDMRTUXB*]::
 | |
| 	Select only files that are Added (`A`), Copied (`C`),
 | |
| 	Deleted (`D`), Modified (`M`), Renamed (`R`), have their
 | |
| 	type (i.e. regular file, symlink, submodule, ...) changed (`T`),
 | |
| 	are Unmerged (`U`), are
 | |
| 	Unknown (`X`), or have had their pairing Broken (`B`).
 | |
| 	Any combination of the filter characters may be used.
 | |
| 	When `*` (All-or-none) is added to the combination, all
 | |
| 	paths are selected if there is any file that matches
 | |
| 	other criteria in the comparison; if there is no file
 | |
| 	that matches other criteria, nothing is selected.
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| --find-copies-harder::
 | |
| 	For performance reasons, by default, `-C` option finds copies only
 | |
| 	if the original file of the copy was modified in the same
 | |
| 	changeset.  This flag makes the command
 | |
| 	inspect unmodified files as candidates for the source of
 | |
| 	copy.  This is a very expensive operation for large
 | |
| 	projects, so use it with caution.  Giving more than one
 | |
| 	`-C` option has the same effect.
 | |
| 
 | |
| -l<num>::
 | |
| 	The `-M` and `-C` options require O(n^2) processing time where n
 | |
| 	is the number of potential rename/copy targets.  This
 | |
| 	option prevents rename/copy detection from running if
 | |
| 	the number of rename/copy targets exceeds the specified
 | |
| 	number.
 | |
| 
 | |
| ifndef::git-format-patch[]
 | |
| -S<string>::
 | |
| 	Look for differences that introduce or remove an instance of
 | |
| 	<string>. Note that this is different than the string simply
 | |
| 	appearing in diff output; see the 'pickaxe' entry in
 | |
| 	linkgit:gitdiffcore[7] for more details.
 | |
| 
 | |
| --pickaxe-all::
 | |
| 	When `-S` finds a change, show all the changes in that
 | |
| 	changeset, not just the files that contain the change
 | |
| 	in <string>.
 | |
| 
 | |
| --pickaxe-regex::
 | |
| 	Make the <string> not a plain string but an extended POSIX
 | |
| 	regex to match.
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| -O<orderfile>::
 | |
| 	Output the patch in the order specified in the
 | |
| 	<orderfile>, which has one shell glob pattern per line.
 | |
| 
 | |
| ifndef::git-format-patch[]
 | |
| -R::
 | |
| 	Swap two inputs; that is, show differences from index or
 | |
| 	on-disk file to tree contents.
 | |
| 
 | |
| --relative[=<path>]::
 | |
| 	When run from a subdirectory of the project, it can be
 | |
| 	told to exclude changes outside the directory and show
 | |
| 	pathnames relative to it with this option.  When you are
 | |
| 	not in a subdirectory (e.g. in a bare repository), you
 | |
| 	can name which subdirectory to make the output relative
 | |
| 	to by giving a <path> as an argument.
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| -a::
 | |
| --text::
 | |
| 	Treat all files as text.
 | |
| 
 | |
| --ignore-space-at-eol::
 | |
| 	Ignore changes in whitespace at EOL.
 | |
| 
 | |
| -b::
 | |
| --ignore-space-change::
 | |
| 	Ignore changes in amount of whitespace.  This ignores whitespace
 | |
| 	at line end, and considers all other sequences of one or
 | |
| 	more whitespace characters to be equivalent.
 | |
| 
 | |
| -w::
 | |
| --ignore-all-space::
 | |
| 	Ignore whitespace when comparing lines.  This ignores
 | |
| 	differences even if one line has whitespace where the other
 | |
| 	line has none.
 | |
| 
 | |
| --inter-hunk-context=<lines>::
 | |
| 	Show the context between diff hunks, up to the specified number
 | |
| 	of lines, thereby fusing hunks that are close to each other.
 | |
| 
 | |
| ifndef::git-format-patch[]
 | |
| --exit-code::
 | |
| 	Make the program exit with codes similar to diff(1).
 | |
| 	That is, it exits with 1 if there were differences and
 | |
| 	0 means no differences.
 | |
| 
 | |
| --quiet::
 | |
| 	Disable all output of the program. Implies `--exit-code`.
 | |
| endif::git-format-patch[]
 | |
| 
 | |
| --ext-diff::
 | |
| 	Allow an external diff helper to be executed. If you set an
 | |
| 	external diff driver with linkgit:gitattributes[5], you need
 | |
| 	to use this option with linkgit:git-log[1] and friends.
 | |
| 
 | |
| --no-ext-diff::
 | |
| 	Disallow external diff drivers.
 | |
| 
 | |
| --ignore-submodules::
 | |
| 	Ignore changes to submodules in the diff generation.
 | |
| 
 | |
| --src-prefix=<prefix>::
 | |
| 	Show the given source prefix instead of "a/".
 | |
| 
 | |
| --dst-prefix=<prefix>::
 | |
| 	Show the given destination prefix instead of "b/".
 | |
| 
 | |
| --no-prefix::
 | |
| 	Do not show any source or destination prefix.
 | |
| 
 | |
| For more detailed explanation on these common options, see also
 | |
| linkgit:gitdiffcore[7].
 |