git-whatchanged(1)
==================

NAME
----
git-whatchanged - Show logs with difference each commit introduces


SYNOPSIS
--------
'git-whatchanged' <option>...

DESCRIPTION
-----------
Shows commit logs and diff output each commit introduces.  The
command internally invokes 'git-rev-list' piped to
'git-diff-tree', and takes command line options for both of
these commands.

This manual page describes only the most frequently used options.


OPTIONS
-------
-p::
	Show textual diffs, instead of the git internal diff
	output format that is useful only to tell the changed
	paths and their nature of changes.

-<n>::
	Limit output to <n> commits.

<since>..<until>::
	Limit output to between the two named commits (bottom
	exclusive, top inclusive).

-r::
	Show git internal diff output, but for the whole tree,
	not just the top level.

--pretty=<format>::
	Controls the output format for the commit logs.
	<format> can be one of 'raw', 'medium', 'short', 'full',
	and 'oneline'.

-m::
	By default, differences for merge commits are not shown.
	With this flag, show differences to that commit from all
	of its parents.
+
However, it is not very useful in general, although it
*is* useful on a file-by-file basis.

Examples
--------
git-whatchanged -p v2.6.12.. include/scsi drivers/scsi::

	Show as patches the commits since version 'v2.6.12' that changed
	any file in the include/scsi or drivers/scsi subdirectories

git-whatchanged --since="2 weeks ago" \-- gitk::

	Show the changes during the last two weeks to the file 'gitk'.
	The "--" is necessary to avoid confusion with the *branch* named
	'gitk'


Author
------
Written by Linus Torvalds <torvalds@osdl.org> and
Junio C Hamano <junkio@cox.net>


Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the linkgit:git[7] suite
