This allows the --relative option to say which subdirectory to
pretend to be in, so that in a bare repository, you can say:
    $ git log --relative=drivers/ v2.6.20..v2.6.22 -- drivers/scsi/
Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
	
		
			
				
	
	
		
			233 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			233 lines
		
	
	
		
			6.6 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::
 | 
						|
	Generate patches without diffstat.
 | 
						|
endif::git-format-patch[]
 | 
						|
 | 
						|
ifndef::git-format-patch[]
 | 
						|
-p::
 | 
						|
	Generate patch (see section on generating patches).
 | 
						|
	{git-diff? This is the default.}
 | 
						|
endif::git-format-patch[]
 | 
						|
 | 
						|
-u::
 | 
						|
	Synonym for "-p".
 | 
						|
 | 
						|
-U<n>::
 | 
						|
	Shorthand for "--unified=<n>".
 | 
						|
 | 
						|
--unified=<n>::
 | 
						|
	Generate diffs with <n> lines of context instead of
 | 
						|
	the usual three. Implies "-p".
 | 
						|
 | 
						|
--raw::
 | 
						|
	Generate the raw format.
 | 
						|
	{git-diff-core? This is the default.}
 | 
						|
 | 
						|
--patch-with-raw::
 | 
						|
	Synonym for "-p --raw".
 | 
						|
 | 
						|
--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.
 | 
						|
 | 
						|
--summary::
 | 
						|
	Output a condensed summary of extended header information
 | 
						|
	such as creations, renames and mode changes.
 | 
						|
 | 
						|
--patch-with-stat::
 | 
						|
	Synonym for "-p --stat".
 | 
						|
	{git-format-patch? This is the default.}
 | 
						|
 | 
						|
-z::
 | 
						|
	NUL-line termination on output.  This affects the --raw
 | 
						|
	output field terminator.  Also output from commands such
 | 
						|
	as "git-log" will be delimited with NUL between commits.
 | 
						|
 | 
						|
--name-only::
 | 
						|
	Show only names of changed files.
 | 
						|
 | 
						|
--name-status::
 | 
						|
	Show only names and status of changed files.
 | 
						|
 | 
						|
--color::
 | 
						|
	Show colored diff.
 | 
						|
 | 
						|
--no-color::
 | 
						|
	Turn off colored diff, even when the configuration file
 | 
						|
	gives the default to color output.
 | 
						|
 | 
						|
--color-words::
 | 
						|
	Show colored word diff, i.e. color words which have changed.
 | 
						|
 | 
						|
--no-renames::
 | 
						|
	Turn off rename detection, even when the configuration
 | 
						|
	file gives the default to do so.
 | 
						|
 | 
						|
--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.
 | 
						|
 | 
						|
--full-index::
 | 
						|
	Instead of the first handful characters, show full
 | 
						|
	object name of pre- and post-image blob on the "index"
 | 
						|
	line when generating a patch format output.
 | 
						|
 | 
						|
--binary::
 | 
						|
	In addition to --full-index, output "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 handful hexdigits prefix.  This is
 | 
						|
	independent of --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`.
 | 
						|
 | 
						|
--diff-filter=[ACDMRTUXB*]::
 | 
						|
	Select only files that are Added (`A`), Copied (`C`),
 | 
						|
	Deleted (`D`), Modified (`M`), Renamed (`R`), have their
 | 
						|
	type (mode) 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.
 | 
						|
 | 
						|
--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>::
 | 
						|
	-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.
 | 
						|
 | 
						|
-S<string>::
 | 
						|
	Look for differences that contain the change in <string>.
 | 
						|
 | 
						|
--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.
 | 
						|
 | 
						|
-O<orderfile>::
 | 
						|
	Output the patch in the order specified in the
 | 
						|
	<orderfile>, which has one shell glob pattern per line.
 | 
						|
 | 
						|
-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.
 | 
						|
 | 
						|
--text::
 | 
						|
	Treat all files as text.
 | 
						|
 | 
						|
-a::
 | 
						|
	Shorthand for "--text".
 | 
						|
 | 
						|
--ignore-space-at-eol::
 | 
						|
	Ignore changes in whitespace at EOL.
 | 
						|
 | 
						|
--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.
 | 
						|
 | 
						|
-b::
 | 
						|
	Shorthand for "--ignore-space-change".
 | 
						|
 | 
						|
--ignore-all-space::
 | 
						|
	Ignore whitespace when comparing lines.  This ignores
 | 
						|
	differences even if one line has whitespace where the other
 | 
						|
	line has none.
 | 
						|
 | 
						|
-w::
 | 
						|
	Shorthand for "--ignore-all-space".
 | 
						|
 | 
						|
--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.
 | 
						|
 | 
						|
--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.
 | 
						|
 | 
						|
--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
 | 
						|
link:diffcore.html[diffcore documentation].
 |