'\" t
.\" Title: git-whatchanged
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 04/06/2012
.\" Manual: Git Manual
.\" Source: Git 1.7.10
.\" Language: English
.\"
.TH "GIT\-WHATCHANGED" "1" "04/06/2012" "Git 1\&.7\&.10" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-whatchanged \- Show logs with difference each commit introduces
.SH "SYNOPSIS"
.sp
.nf
\fIgit whatchanged\fR <option>\&...
.fi
.sp
.SH "DESCRIPTION"
.sp
Shows commit logs and diff output each commit introduces\&. The command internally invokes \fIgit rev\-list\fR piped to \fIgit diff\-tree\fR, and takes command line options for both of these commands\&.
.sp
This manual page describes only the most frequently used options\&.
.SH "OPTIONS"
.PP
\-p
.RS 4
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\&.
.RE
.PP
\-<n>
.RS 4
Limit output to <n> commits\&.
.RE
.PP
<since>\&.\&.<until>
.RS 4
Limit output to between the two named commits (bottom exclusive, top inclusive)\&.
.RE
.PP
\-r
.RS 4
Show git internal diff output, but for the whole tree, not just the top level\&.
.RE
.PP
\-m
.RS 4
By default, differences for merge commits are not shown\&. With this flag, show differences to that commit from all of its parents\&.
.sp
However, it is not very useful in general, although it
\fBis\fR
useful on a file\-by\-file basis\&.
.RE
.PP
\-\-pretty[=<format>], \-\-format=<format>
.RS 4
Pretty\-print the contents of the commit logs in a given format, where
\fI<format>\fR
can be one of
\fIoneline\fR,
\fIshort\fR,
\fImedium\fR,
\fIfull\fR,
\fIfuller\fR,
\fIemail\fR,
\fIraw\fR
and
\fIformat:<string>\fR\&. See the "PRETTY FORMATS" section for some additional details for each format\&. When omitted, the format defaults to
\fImedium\fR\&.
.sp
Note: you can specify the default pretty format in the repository configuration (see
\fBgit-config\fR(1))\&.
.RE
.PP
\-\-abbrev\-commit
.RS 4
Instead of showing the full 40\-byte hexadecimal commit object name, show only a partial prefix\&. Non default number of digits can be specified with "\-\-abbrev=<n>" (which also modifies diff output, if it is displayed)\&.
.sp
This should make "\-\-pretty=oneline" a whole lot more readable for people using 80\-column terminals\&.
.RE
.PP
\-\-no\-abbrev\-commit
.RS 4
Show the full 40\-byte hexadecimal commit object name\&. This negates
\-\-abbrev\-commit
and those options which imply it such as "\-\-oneline"\&. It also overrides the
\fIlog\&.abbrevCommit\fR
variable\&.
.RE
.PP
\-\-oneline
.RS 4
This is a shorthand for "\-\-pretty=oneline \-\-abbrev\-commit" used together\&.
.RE
.PP
\-\-encoding[=<encoding>]
.RS 4
The commit objects record the encoding used for the log message in their encoding header; this option can be used to tell the command to re\-code the commit log message in the encoding preferred by the user\&. For non plumbing commands this defaults to UTF\-8\&.
.RE
.PP
\-\-notes[=<ref>]
.RS