.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-ADD" "1" "05/08/2007" "Git 1.5.2.rc2.21.g3082" "Git Manual"
+.TH "GIT\-ADD" "1" "05/15/2007" "Git 1.5.2.rc3.39.gaf9b" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Add modified contents in the working tree interactively to the index.
.TP
\-u
-Update all files that git already knows about. This is what "git commit \-a" does in preparation for making a commit.
+Update only files that git already knows about. This is similar to what "git commit \-a" does in preparation for making a commit, except that the update is limited to paths specified on the command line. If no paths are specified, all tracked files are updated.
.TP
\-\-
This option can be used to separate command\-line options from the list of files, (useful when filenames might be mistaken for command\-line options).
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-AM" "1" "04/22/2007" "Git 1.5.1.2.241.gfdd3e" "Git Manual"
+.TH "GIT\-AM" "1" "05/15/2007" "Git 1.5.2.rc3.39.gaf9b" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "SYNOPSIS"
.sp
.nf
-\fIgit\-am\fR [\-\-signoff] [\-\-dotest=<dir>] [\-\-utf8 | \-\-no\-utf8] [\-\-binary] [\-\-3way]
- [\-\-interactive] [\-\-whitespace=<option>] [\-C<n>] [\-p<n>]
+\fIgit\-am\fR [\-\-signoff] [\-\-dotest=<dir>] [\-\-keep] [\-\-utf8 | \-\-no\-utf8]
+ [\-\-3way] [\-\-interactive] [\-\-binary]
+ [\-\-whitespace=<option>] [\-C<n>] [\-p<n>]
<mbox>\&...
\fIgit\-am\fR [\-\-skip | \-\-resolved]
.fi
Pass \-k flag to git\-mailinfo (see \fBgit\-mailinfo\fR(1)).
.TP
\-u, \-\-utf8
-Pass \-u flag to git\-mailinfo (see \fBgit\-mailinfo\fR(1)). The proposed commit log message taken from the e\-mail are re\-coded into UTF\-8 encoding (configuration variable i18n.commitencoding can be used to specify project's preferred encoding if it is not UTF\-8).
+Pass \-u flag to git\-mailinfo (see \fBgit\-mailinfo\fR(1)). The proposed commit log message taken from the e\-mail is re\-coded into UTF\-8 encoding (configuration variable i18n.commitencoding can be used to specify project's preferred encoding if it is not UTF\-8).
This was optional in prior versions of git, but now it is the default. You could use \-\-no\-utf8 to override this.
.TP
\-\-no\-utf8
Pass \-n flag to git\-mailinfo (see \fBgit\-mailinfo\fR(1)).
.TP
-\-b, \-\-binary
-Pass \-\-allow\-binary\-replacement flag to git\-apply (see \fBgit\-apply\fR(1)).
-.TP
\-3, \-\-3way
-When the patch does not apply cleanly, fall back on 3\-way merge, if the patch records the identity of blobs it is supposed to apply to, and we have those blobs locally.
+When the patch does not apply cleanly, fall back on 3\-way merge, if the patch records the identity of blobs it is supposed to apply to, and we have those blobs available locally.
.TP
-\-\-skip
-Skip the current patch. This is only meaningful when restarting an aborted patch.
+\-b, \-\-binary
+Pass \-\-allow\-binary\-replacement flag to git\-apply (see \fBgit\-apply\fR(1)).
.TP
\-\-whitespace=<option>
-This flag is passed to the git\-apply program that applies the patch.
+This flag is passed to the git\-apply (see \fBgit\-apply\fR(1)) program that applies the patch.
.TP
\-C<n>, \-p<n>
-These flags are passed to the git\-apply program that applies the patch.
+These flags are passed to the git\-apply (see \fBgit\-apply\fR(1)) program that applies the patch.
.TP
\-i, \-\-interactive
-Run interactively, just like git\-applymbox.
+Run interactively.
+.TP
+\-\-skip
+Skip the current patch. This is only meaningful when restarting an aborted patch.
.TP
\-r, \-\-resolved
After a patch failure (e.g. attempting to apply conflicting patch), the user has applied it by hand and the index file stores the result of the application. Make a commit using the authorship and commit log extracted from the e\-mail message and the current index file, and continue.
When initially invoking it, you give it names of the mailboxes to crunch. Upon seeing the first patch that does not apply, it aborts in the middle, just like \fIgit\-applymbox\fR does. You can recover from this in one of two ways:
.TP 3
1.
-skip the current one by re\-running the command with \fI\-\-skip\fR option.
+skip the current patch by re\-running the command with \fI\-\-skip\fR option.
.TP
2.
hand resolve the conflict in the working directory, and update the index file to bring it in a state that the patch should have produced. Then run the command with \fI\-\-resolved\fR option.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-APPLYMBOX" "1" "04/22/2007" "Git 1.5.1.2.241.gfdd3e" "Git Manual"
+.TH "GIT\-APPLYMBOX" "1" "05/15/2007" "Git 1.5.2.rc3.39.gaf9b" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Apply patches interactively. The user will be given opportunity to edit the log message and the patch before attempting to apply it.
.TP
\-k
-Usually the program \fIcleans up\fR the Subject: header line to extract the title line for the commit log message, among which (1) remove \fIRe:\fR or \fIre:\fR, (2) leading whitespaces, (3) \fI[\fR up to \fI]\fR, typically \fI[PATCH]\fR, and then prepends "[PATCH] ". This flag forbids this munging, and is most useful when used to read back \fIgit format\-patch \-\-mbox\fR output.
+Usually the program \fIcleans up\fR the Subject: header line to extract the title line for the commit log message, among which (1) remove \fIRe:\fR or \fIre:\fR, (2) leading whitespaces, (3) \fI[\fR up to \fI]\fR, typically \fI[PATCH]\fR, and then prepends "[PATCH] ". This flag forbids this munging, and is most useful when used to read back \fIgit format\-patch \-k\fR output.
.TP
\-m
Patches are applied with git\-apply command, and unless it cleanly applies without fuzz, the processing fails. With this flag, if a tree that the patch applies cleanly is found in a repository, the patch is applied to the tree and then a 3\-way merge between the resulting tree and the current tree.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-DIFF\-TREE" "1" "05/06/2007" "Git 1.5.2.rc2" "Git Manual"
+.TH "GIT\-DIFF\-TREE" "1" "05/15/2007" "Git 1.5.2.rc3.39.gaf9b" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
This flag causes "git\-diff\-tree \-\-stdin" to also show the commit message before the differences.
.TP
\-\-pretty[=\fI<format>\fR]
-Pretty\-prints the details of a commit. \-\-pretty without an explicit =<format> defaults to \fImedium\fR. If the commit is a merge, and if the pretty\-format is not \fIoneline\fR, \fIemail\fR or \fIraw\fR, an additional line is inserted before the \fIAuthor:\fR line. This line begins with "Merge: " and the sha1s of ancestral commits are printed, separated by spaces. Note that the listed commits may not necessarily be the list of the \fBdirect\fR parent commits if you have limited your view of history: for example, if you are only interested in changes related to a certain directory or file. Here are some additional details for each format:
-.RS
+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. When left out the format default to \fImedium\fR.
+.TP
+\-\-encoding[=<encoding>]
+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.
+.TP
+\-\-no\-commit\-id
+git\-diff\-tree outputs a line with the commit ID when applicable. This flag suppressed the commit ID output.
+.TP
+\-c
+This flag changes the way a merge commit is displayed (which means it is useful only when the command is given one <tree\-ish>, or \fI\-\-stdin\fR). It shows the differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent and the result one at a time (which is what the \fI\-m\fR option does). Furthermore, it lists only files which were modified from all parents.
+.TP
+\-\-cc
+This flag changes the way a merge commit patch is displayed, in a similar way to the \fI\-c\fR option. It implies the \fI\-c\fR and \fI\-p\fR options and further compresses the patch output by omitting hunks that show differences from only one parent, or show the same change from all but one parent for an Octopus merge. When this optimization makes all hunks disappear, the commit itself and the commit log message is not shown, just like in any other "empty diff" case.
+.TP
+\-\-always
+Show the commit itself and the commit log message even if the diff itself is empty.
+.SH "PRETTY FORMATS"
+If the commit is a merge, and if the pretty\-format is not \fIoneline\fR, \fIemail\fR or \fIraw\fR, an additional line is inserted before the \fIAuthor:\fR line. This line begins with "Merge: " and the sha1s of ancestral commits are printed, separated by spaces. Note that the listed commits may not necessarily be the list of the \fBdirect\fR parent commits if you have limited your view of history: for example, if you are only interested in changes related to a certain directory or file.
+
+Here are some additional details for each format:
.TP 3
\(bu
\fIoneline\fR
.fi
.sp
.nf
-full commit message>
+<full commit message>
.fi
.TP
\(bu
\fIformat:\fR
The \fIformat:\fR format allows you to specify which information you want to show. It works a little bit like printf format, with the notable exception that you get a newline with \fI%n\fR instead of \fI\\n\fR.
-.RE
-E.g, \fIformat:"The author of %h was %an, %ar%nThe title was >>%s<<"\fR would show something like this:
-
-The author of fe6e0ee was Junio C Hamano, 23 hours ago The title was >>t4119: test autocomputing \-p<n> for traditional diff input.<<
+E.g, \fIformat:"The author of %h was %an, %ar%nThe title was >>%s<<%n"\fR would show something like this:
+.sp
+.nf
+The author of fe6e0ee was Junio C Hamano, 23 hours ago
+The title was >>t4119: test autocomputing \-p<n> for traditional diff input.<<
+.fi
The placeholders are:
+.RS
.TP 3
\(bu
\fI%H\fR: commit hash
.TP
\(bu
\fI%n\fR: newline
-.RS
-.TP
-\-\-encoding[=<encoding>]
-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.
-.TP
-\-\-no\-commit\-id
-git\-diff\-tree outputs a line with the commit ID when applicable. This flag suppressed the commit ID output.
-.TP
-\-c
-This flag changes the way a merge commit is displayed (which means it is useful only when the command is given one <tree\-ish>, or \fI\-\-stdin\fR). It shows the differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent and the result one at a time (which is what the \fI\-m\fR option does). Furthermore, it lists only files which were modified from all parents.
-.TP
-\-\-cc
-This flag changes the way a merge commit patch is displayed, in a similar way to the \fI\-c\fR option. It implies the \fI\-c\fR and \fI\-p\fR options and further compresses the patch output by omitting hunks that show differences from only one parent, or show the same change from all but one parent for an Octopus merge. When this optimization makes all hunks disappear, the commit itself and the commit log message is not shown, just like in any other "empty diff" case.
-.TP
-\-\-always
-Show the commit itself and the commit log message even if the diff itself is empty.
.RE
.SH "LIMITING OUTPUT"
If you're only interested in differences in a subset of files, for example some architecture\-specific files, you might do:
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-LOG" "1" "05/10/2007" "Git 1.5.2.rc3" "Git Manual"
+.TH "GIT\-LOG" "1" "05/15/2007" "Git 1.5.2.rc3.39.gaf9b" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "OPTIONS"
.TP
\-\-pretty[=\fI<format>\fR]
-Pretty\-prints the details of a commit. \-\-pretty without an explicit =<format> defaults to \fImedium\fR. If the commit is a merge, and if the pretty\-format is not \fIoneline\fR, \fIemail\fR or \fIraw\fR, an additional line is inserted before the \fIAuthor:\fR line. This line begins with "Merge: " and the sha1s of ancestral commits are printed, separated by spaces. Note that the listed commits may not necessarily be the list of the \fBdirect\fR parent commits if you have limited your view of history: for example, if you are only interested in changes related to a certain directory or file. Here are some additional details for each format:
-.RS
+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. When left out the format default to \fImedium\fR.
+.TP
+\-\-encoding[=<encoding>]
+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.
+.TP
+\-<n>
+Limits the number of commits to show.
+.TP
+<since>..<until>
+Show only commits between the named two commits. When either <since> or <until> is omitted, it defaults to HEAD, i.e. the tip of the current branch. For a more complete list of ways to spell <since> and <until>, see "SPECIFYING REVISIONS" section in \fBgit\-rev\-parse\fR(1).
+.TP
+\-\-first\-parent
+Follow only the first parent commit upon seeing a merge commit. This option gives a better overview of the evolution of a particular branch.
+.TP
+\-p
+Show the change the commit introduces in a patch form.
+.TP
+\-g, \-\-walk\-reflogs
+Show commits as they were recorded in the reflog. The log contains a record about how the tip of a reference was changed. See also \fBgit\-reflog\fR(1).
+.TP
+\-\-decorate
+Print out the ref names of any commits that are shown.
+.TP
+<paths>\&...
+Show only commits that affect the specified paths.
+.SH "PRETTY FORMATS"
+If the commit is a merge, and if the pretty\-format is not \fIoneline\fR, \fIemail\fR or \fIraw\fR, an additional line is inserted before the \fIAuthor:\fR line. This line begins with "Merge: " and the sha1s of ancestral commits are printed, separated by spaces. Note that the listed commits may not necessarily be the list of the \fBdirect\fR parent commits if you have limited your view of history: for example, if you are only interested in changes related to a certain directory or file.
+
+Here are some additional details for each format:
.TP 3
\(bu
\fIoneline\fR
.fi
.sp
.nf
-full commit message>
+<full commit message>
.fi
.TP
\(bu
\fIformat:\fR
The \fIformat:\fR format allows you to specify which information you want to show. It works a little bit like printf format, with the notable exception that you get a newline with \fI%n\fR instead of \fI\\n\fR.
-.RE
-E.g, \fIformat:"The author of %h was %an, %ar%nThe title was >>%s<<"\fR would show something like this:
-
-The author of fe6e0ee was Junio C Hamano, 23 hours ago The title was >>t4119: test autocomputing \-p<n> for traditional diff input.<<
+E.g, \fIformat:"The author of %h was %an, %ar%nThe title was >>%s<<%n"\fR would show something like this:
+.sp
+.nf
+The author of fe6e0ee was Junio C Hamano, 23 hours ago
+The title was >>t4119: test autocomputing \-p<n> for traditional diff input.<<
+.fi
The placeholders are:
+.RS
.TP 3
\(bu
\fI%H\fR: commit hash
.TP
\(bu
\fI%n\fR: newline
-.RS
-.TP
-\-\-encoding[=<encoding>]
-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.
-.TP
-\-<n>
-Limits the number of commits to show.
-.TP
-<since>..<until>
-Show only commits between the named two commits. When either <since> or <until> is omitted, it defaults to HEAD, i.e. the tip of the current branch. For a more complete list of ways to spell <since> and <until>, see "SPECIFYING REVISIONS" section in \fBgit\-rev\-parse\fR(1).
-.TP
-\-\-first\-parent
-Follow only the first parent commit upon seeing a merge commit. This option gives a better overview of the evolution of a particular branch.
-.TP
-\-p
-Show the change the commit introduces in a patch form.
-.TP
-\-g, \-\-walk\-reflogs
-Show commits as they were recorded in the reflog. The log contains a record about how the tip of a reference was changed. See also \fBgit\-reflog\fR(1).
-.TP
-\-\-decorate
-Print out the ref names of any commits that are shown.
-.TP
-<paths>\&...
-Show only commits that affect the specified paths.
.RE
.SH "EXAMPLES"
.TP
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-MAILINFO" "1" "04/22/2007" "Git 1.5.1.2.241.gfdd3e" "Git Manual"
+.TH "GIT\-MAILINFO" "1" "05/15/2007" "Git 1.5.2.rc3.39.gaf9b" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "OPTIONS"
.TP
\-k
-Usually the program \fIcleans up\fR the Subject: header line to extract the title line for the commit log message, among which (1) remove \fIRe:\fR or \fIre:\fR, (2) leading whitespaces, (3) \fI[\fR up to \fI]\fR, typically \fI[PATCH]\fR, and then prepends "[PATCH] ". This flag forbids this munging, and is most useful when used to read back \fIgit format\-patch \-\-mbox\fR output.
+Usually the program \fIcleans up\fR the Subject: header line to extract the title line for the commit log message, among which (1) remove \fIRe:\fR or \fIre:\fR, (2) leading whitespaces, (3) \fI[\fR up to \fI]\fR, typically \fI[PATCH]\fR, and then prepends "[PATCH] ". This flag forbids this munging, and is most useful when used to read back \fIgit format\-patch \-k\fR output.
.TP
\-u
The commit log message, author name and author email are taken from the e\-mail, and after minimally decoding MIME transfer encoding, re\-coded in UTF\-8 by transliterating them. This used to be optional but now it is the default.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-REV\-LIST" "1" "04/26/2007" "Git 1.5.2.rc0.56.g6169a" "Git Manual"
+.TH "GIT\-REV\-LIST" "1" "05/15/2007" "Git 1.5.2.rc3.39.gaf9b" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Using these options, \fBgit\-rev\-list\fR(1) will act similar to the more specialized family of commit log tools: \fBgit\-log\fR(1), \fBgit\-show\fR(1), and \fBgit\-whatchanged\fR(1)
.TP
\-\-pretty[=\fI<format>\fR]
-Pretty\-prints the details of a commit. \-\-pretty without an explicit =<format> defaults to \fImedium\fR. If the commit is a merge, and if the pretty\-format is not \fIoneline\fR, \fIemail\fR or \fIraw\fR, an additional line is inserted before the \fIAuthor:\fR line. This line begins with "Merge: " and the sha1s of ancestral commits are printed, separated by spaces. Note that the listed commits may not necessarily be the list of the \fBdirect\fR parent commits if you have limited your view of history: for example, if you are only interested in changes related to a certain directory or file. Here are some additional details for each format:
-.RS
+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. When left out the format default to \fImedium\fR.
+.TP
+\-\-encoding[=<encoding>]
+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.
+.TP
+\-\-relative\-date
+Synonym for \-\-date=relative.
+.TP
+\-\-date={relative,local,default}
+Only takes effect for dates shown in human\-readable format, such as when using "\-\-pretty".
+
+\-\-date=relative shows dates relative to the current time, e.g. "2 hours ago".
+
+\-\-date=local shows timestamps in user's local timezone.
+
+\-\-date=default shows timestamps in the original timezone (either committer's or author's).
+.TP
+\-\-header
+Print the contents of the commit in raw\-format; each record is separated with a NUL character.
+.TP
+\-\-parents
+Print the parents of the commit.
+.TP
+\-\-left\-right
+Mark which side of a symmetric diff a commit is reachable from. Commits from the left side are prefixed with < and those from the right with >. If combined with \-\-boundary, those commits are prefixed with \-.
+
+For example, if you have this topology:
+.sp
+.nf
+ y\-\-\-b\-\-\-b branch B
+ / \\ /
+ / .
+ / / \\
+ o\-\-\-x\-\-\-a\-\-\-a branch A
+.fi
+you would get an output line this:
+.sp
+.nf
+ $ git rev\-list \-\-left\-right \-\-boundary \-\-pretty=oneline A...B
+
+ >bbbbbbb... 3rd on b
+ >bbbbbbb... 2nd on b
+ <aaaaaaa... 3rd on a
+ <aaaaaaa... 2nd on a
+ \-yyyyyyy... 1st on b
+ \-xxxxxxx... 1st on a
+.fi
+.SS "Diff Formatting"
+Below are listed options that control the formatting of diff output. Some of them are specific to \fBgit\-rev\-list\fR(1), however other diff options may be given. See \fBgit\-diff\-files\fR(1) for more options.
+.TP
+\-c
+This flag changes the way a merge commit is displayed. It shows the differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent and the result one at a time. Furthermore, it lists only files which were modified from all parents.
+.TP
+\-\-cc
+This flag implies the \fI\-c\fR options and further compresses the patch output by omitting hunks that show differences from only one parent, or show the same change from all but one parent for an Octopus merge.
+.TP
+\-r
+Show recursive diffs.
+.TP
+\-t
+Show the tree objects in the diff output. This implies \fI\-r\fR.
+.SS "Commit Limiting"
+Besides specifying a range of commits that should be listed using the special notations explained in the description, additional commit limiting may be applied.
+.TP
+\-n \fInumber\fR, \-\-max\-count=\fInumber\fR
+Limit the number of commits output.
+.TP
+\-\-skip=\fInumber\fR
+Skip \fInumber\fR commits before starting to show the commit output.
+.TP
+\-\-since=\fIdate\fR, \-\-after=\fIdate\fR
+Show commits more recent than a specific date.
+.TP
+\-\-until=\fIdate\fR, \-\-before=\fIdate\fR
+Show commits older than a specific date.
+.TP
+\-\-max\-age=\fItimestamp\fR, \-\-min\-age=\fItimestamp\fR
+Limit the commits output to specified time range.
+.TP
+\-\-author=\fIpattern\fR, \-\-committer=\fIpattern\fR
+Limit the commits output to ones with author/committer header lines that match the specified pattern.
+.TP
+\-\-grep=\fIpattern\fR
+Limit the commits output to ones with log message that matches the specified pattern.
+.TP
+\-\-remove\-empty
+Stop when a given path disappears from the tree.
+.TP
+\-\-no\-merges
+Do not print commits with more than one parent.
+.TP
+\-\-not
+Reverses the meaning of the \fI^\fR prefix (or lack thereof) for all following revision specifiers, up to the next \fI\-\-not\fR.
+.TP
+\-\-all
+Pretend as if all the refs in $GIT_DIR/refs/ are listed on the command line as \fI<commit>\fR.
+.TP
+\-\-stdin
+In addition to the \fI<commit>\fR listed on the command line, read them from the standard input.
+.TP
+\-\-cherry\-pick
+Omit any commit that introduces the same change as another commit on the "other side" when the set of commits are limited with symmetric difference. For example, if you have two branches, A and B, a usual way to list all commits on only one side of them is with \-\-left\-right, like the example above in the description of that option. It however shows the commits that were cherry\-picked from the other branch (for example, "3rd on b" may be cherry\-picked from branch A). With this option, such pairs of commits are excluded from the output.
+.TP
+\-g, \-\-walk\-reflogs
+Instead of walking the commit ancestry chain, walk reflog entries from the most recent one to older ones. When this option is used you cannot specify commits to exclude (that is, \fI^commit\fR, \fIcommit1..commit2\fR, nor \fIcommit1\&...commit2\fR notations cannot be used). With \fI\-\-pretty\fR format other than oneline (for obvious reasons), this causes the output to have two extra lines of information used in the output. When the starting commit is specified as instead. Under \fI\-\-pretty=oneline\fR, the commit message is prefixed with this information on the same line.
+.TP
+\-\-merge
+After a failed merge, show refs that touch files having a conflict and don't exist on all heads to merge.
+.TP
+\-\-boundary
+Output uninteresting commits at the boundary, which are usually not shown.
+.TP
+\-\-dense, \-\-sparse
+When optional paths are given, the default behaviour (\fI\-\-dense\fR) is to only output commits that changes at least one of them, and also ignore merges that do not touch the given paths.
+
+Use the \fI\-\-sparse\fR flag to makes the command output all eligible commits (still subject to count and age limitation), but apply merge simplification nevertheless.
+.TP
+\-\-bisect
+Limit output to the one commit object which is roughly halfway between the included and excluded commits. Thus, if
+.sp
+.nf
+ $ git\-rev\-list \-\-bisect foo ^bar ^baz
+.fi
+outputs \fImidpoint\fR, the output of the two commands
+.sp
+.nf
+ $ git\-rev\-list foo ^midpoint
+ $ git\-rev\-list midpoint ^bar ^baz
+.fi
+would be of roughly the same length. Finding the change which introduces a regression is thus reduced to a binary search: repeatedly generate and test new 'midpoint's until the commit chain is of length one.
+.TP
+\-\-bisect\-vars
+This calculates the same as \-\-bisect, but outputs text ready to be eval'ed by the shell. These lines will assign the name of the midpoint revision to the variable bisect_rev, and the expected number of commits to be tested after bisect_rev is tested to bisect_nr, the expected number of commits to be tested if bisect_rev turns out to be good to bisect_good, the expected number of commits to be tested if bisect_rev turns out to be bad to bisect_bad, and the number of commits we are bisecting right now to bisect_all.
+.SS "Commit Ordering"
+By default, the commits are shown in reverse chronological order.
+.TP
+\-\-topo\-order
+This option makes them appear in topological order (i.e. descendant commits are shown before their parents).
+.TP
+\-\-date\-order
+This option is similar to \fI\-\-topo\-order\fR in the sense that no parent comes before all of its children, but otherwise things are still ordered in the commit timestamp order.
+.TP
+\-\-reverse
+Output the commits in reverse order.
+.SS "Object Traversal"
+These options are mostly targeted for packing of git repositories.
+.TP
+\-\-objects
+Print the object IDs of any object referenced by the listed commits. \fIgit\-rev\-list \-\-objects foo ^bar\fR thus means "send me all object IDs which I need to download if I have the commit object \fIbar\fR, but not \fIfoo\fR".
+.TP
+\-\-objects\-edge
+Similar to \fI\-\-objects\fR, but also print the IDs of excluded commits prefixed with a "\-" character. This is used by \fBgit\-pack\-objects\fR(1) to build "thin" pack, which records objects in deltified form based on objects contained in these excluded commits to reduce network traffic.
+.TP
+\-\-unpacked
+Only useful with \fI\-\-objects\fR; print the object IDs that are not in packs.
+.SH "PRETTY FORMATS"
+If the commit is a merge, and if the pretty\-format is not \fIoneline\fR, \fIemail\fR or \fIraw\fR, an additional line is inserted before the \fIAuthor:\fR line. This line begins with "Merge: " and the sha1s of ancestral commits are printed, separated by spaces. Note that the listed commits may not necessarily be the list of the \fBdirect\fR parent commits if you have limited your view of history: for example, if you are only interested in changes related to a certain directory or file.
+
+Here are some additional details for each format:
.TP 3
\(bu
\fIoneline\fR
.fi
.sp
.nf
-full commit message>
+<full commit message>
.fi
.TP
\(bu
\fIformat:\fR
The \fIformat:\fR format allows you to specify which information you want to show. It works a little bit like printf format, with the notable exception that you get a newline with \fI%n\fR instead of \fI\\n\fR.
-.RE
-E.g, \fIformat:"The author of %h was %an, %ar%nThe title was >>%s<<"\fR would show something like this:
-
-The author of fe6e0ee was Junio C Hamano, 23 hours ago The title was >>t4119: test autocomputing \-p<n> for traditional diff input.<<
+E.g, \fIformat:"The author of %h was %an, %ar%nThe title was >>%s<<%n"\fR would show something like this:
+.sp
+.nf
+The author of fe6e0ee was Junio C Hamano, 23 hours ago
+The title was >>t4119: test autocomputing \-p<n> for traditional diff input.<<
+.fi
The placeholders are:
+.RS
.TP 3
\(bu
\fI%H\fR: commit hash
.TP
\(bu
\fI%n\fR: newline
-.RS
-.TP
-\-\-encoding[=<encoding>]
-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.
-.TP
-\-\-relative\-date
-Synonym for \-\-date=relative.
-.TP
-\-\-date={relative,local,default}
-Only takes effect for dates shown in human\-readable format, such as when using "\-\-pretty".
-
-\-\-date=relative shows dates relative to the current time, e.g. "2 hours ago".
-
-\-\-date=local shows timestamps in user's local timezone.
-
-\-\-date=default shows timestamps in the original timezone (either committer's or author's).
-.TP
-\-\-header
-Print the contents of the commit in raw\-format; each record is separated with a NUL character.
-.TP
-\-\-parents
-Print the parents of the commit.
-.TP
-\-\-left\-right
-Mark which side of a symmetric diff a commit is reachable from. Commits from the left side are prefixed with < and those from the right with >. If combined with \-\-boundary, those commits are prefixed with \-.
-
-For example, if you have this topology:
-.sp
-.nf
- y\-\-\-b\-\-\-b branch B
- / \\ /
- / .
- / / \\
- o\-\-\-x\-\-\-a\-\-\-a branch A
-.fi
-you would get an output line this:
-.sp
-.nf
- $ git rev\-list \-\-left\-right \-\-boundary \-\-pretty=oneline A...B
-
- >bbbbbbb... 3rd on b
- >bbbbbbb... 2nd on b
- <aaaaaaa... 3rd on a
- <aaaaaaa... 2nd on a
- \-yyyyyyy... 1st on b
- \-xxxxxxx... 1st on a
-.fi
.RE
-.SS "Diff Formatting"
-Below are listed options that control the formatting of diff output. Some of them are specific to \fBgit\-rev\-list\fR(1), however other diff options may be given. See \fBgit\-diff\-files\fR(1) for more options.
-.TP
-\-c
-This flag changes the way a merge commit is displayed. It shows the differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent and the result one at a time. Furthermore, it lists only files which were modified from all parents.
-.TP
-\-\-cc
-This flag implies the \fI\-c\fR options and further compresses the patch output by omitting hunks that show differences from only one parent, or show the same change from all but one parent for an Octopus merge.
-.TP
-\-r
-Show recursive diffs.
-.TP
-\-t
-Show the tree objects in the diff output. This implies \fI\-r\fR.
-.SS "Commit Limiting"
-Besides specifying a range of commits that should be listed using the special notations explained in the description, additional commit limiting may be applied.
-.TP
-\-n \fInumber\fR, \-\-max\-count=\fInumber\fR
-Limit the number of commits output.
-.TP
-\-\-skip=\fInumber\fR
-Skip \fInumber\fR commits before starting to show the commit output.
-.TP
-\-\-since=\fIdate\fR, \-\-after=\fIdate\fR
-Show commits more recent than a specific date.
-.TP
-\-\-until=\fIdate\fR, \-\-before=\fIdate\fR
-Show commits older than a specific date.
-.TP
-\-\-max\-age=\fItimestamp\fR, \-\-min\-age=\fItimestamp\fR
-Limit the commits output to specified time range.
-.TP
-\-\-author=\fIpattern\fR, \-\-committer=\fIpattern\fR
-Limit the commits output to ones with author/committer header lines that match the specified pattern.
-.TP
-\-\-grep=\fIpattern\fR
-Limit the commits output to ones with log message that matches the specified pattern.
-.TP
-\-\-remove\-empty
-Stop when a given path disappears from the tree.
-.TP
-\-\-no\-merges
-Do not print commits with more than one parent.
-.TP
-\-\-not
-Reverses the meaning of the \fI^\fR prefix (or lack thereof) for all following revision specifiers, up to the next \fI\-\-not\fR.
-.TP
-\-\-all
-Pretend as if all the refs in $GIT_DIR/refs/ are listed on the command line as \fI<commit>\fR.
-.TP
-\-\-stdin
-In addition to the \fI<commit>\fR listed on the command line, read them from the standard input.
-.TP
-\-\-cherry\-pick
-Omit any commit that introduces the same change as another commit on the "other side" when the set of commits are limited with symmetric difference. For example, if you have two branches, A and B, a usual way to list all commits on only one side of them is with \-\-left\-right, like the example above in the description of that option. It however shows the commits that were cherry\-picked from the other branch (for example, "3rd on b" may be cherry\-picked from branch A). With this option, such pairs of commits are excluded from the output.
-.TP
-\-g, \-\-walk\-reflogs
-Instead of walking the commit ancestry chain, walk reflog entries from the most recent one to older ones. When this option is used you cannot specify commits to exclude (that is, \fI^commit\fR, \fIcommit1..commit2\fR, nor \fIcommit1\&...commit2\fR notations cannot be used). With \fI\-\-pretty\fR format other than oneline (for obvious reasons), this causes the output to have two extra lines of information used in the output. When the starting commit is specified as instead. Under \fI\-\-pretty=oneline\fR, the commit message is prefixed with this information on the same line.
-.TP
-\-\-merge
-After a failed merge, show refs that touch files having a conflict and don't exist on all heads to merge.
-.TP
-\-\-boundary
-Output uninteresting commits at the boundary, which are usually not shown.
-.TP
-\-\-dense, \-\-sparse
-When optional paths are given, the default behaviour (\fI\-\-dense\fR) is to only output commits that changes at least one of them, and also ignore merges that do not touch the given paths.
-
-Use the \fI\-\-sparse\fR flag to makes the command output all eligible commits (still subject to count and age limitation), but apply merge simplification nevertheless.
-.TP
-\-\-bisect
-Limit output to the one commit object which is roughly halfway between the included and excluded commits. Thus, if
-.sp
-.nf
- $ git\-rev\-list \-\-bisect foo ^bar ^baz
-.fi
-outputs \fImidpoint\fR, the output of the two commands
-.sp
-.nf
- $ git\-rev\-list foo ^midpoint
- $ git\-rev\-list midpoint ^bar ^baz
-.fi
-would be of roughly the same length. Finding the change which introduces a regression is thus reduced to a binary search: repeatedly generate and test new 'midpoint's until the commit chain is of length one.
-.TP
-\-\-bisect\-vars
-This calculates the same as \-\-bisect, but outputs text ready to be eval'ed by the shell. These lines will assign the name of the midpoint revision to the variable bisect_rev, and the expected number of commits to be tested after bisect_rev is tested to bisect_nr, the expected number of commits to be tested if bisect_rev turns out to be good to bisect_good, the expected number of commits to be tested if bisect_rev turns out to be bad to bisect_bad, and the number of commits we are bisecting right now to bisect_all.
-.SS "Commit Ordering"
-By default, the commits are shown in reverse chronological order.
-.TP
-\-\-topo\-order
-This option makes them appear in topological order (i.e. descendant commits are shown before their parents).
-.TP
-\-\-date\-order
-This option is similar to \fI\-\-topo\-order\fR in the sense that no parent comes before all of its children, but otherwise things are still ordered in the commit timestamp order.
-.TP
-\-\-reverse
-Output the commits in reverse order.
-.SS "Object Traversal"
-These options are mostly targeted for packing of git repositories.
-.TP
-\-\-objects
-Print the object IDs of any object referenced by the listed commits. \fIgit\-rev\-list \-\-objects foo ^bar\fR thus means "send me all object IDs which I need to download if I have the commit object \fIbar\fR, but not \fIfoo\fR".
-.TP
-\-\-objects\-edge
-Similar to \fI\-\-objects\fR, but also print the IDs of excluded commits prefixed with a "\-" character. This is used by \fBgit\-pack\-objects\fR(1) to build "thin" pack, which records objects in deltified form based on objects contained in these excluded commits to reduce network traffic.
-.TP
-\-\-unpacked
-Only useful with \fI\-\-objects\fR; print the object IDs that are not in packs.
.SH "AUTHOR"
Written by Linus Torvalds <torvalds@osdl.org>
.SH "DOCUMENTATION"
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-SHOW" "1" "04/22/2007" "Git 1.5.1.1.98.gedb4f" "Git Manual"
+.TH "GIT\-SHOW" "1" "05/15/2007" "Git 1.5.2.rc3.39.gaf9b" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
The name of the object to show. For a more complete list of ways to spell object names, see "SPECIFYING REVISIONS" section in \fBgit\-rev\-parse\fR(1).
.TP
\-\-pretty[=\fI<format>\fR]
-Pretty\-prints the details of a commit. \-\-pretty without an explicit =<format> defaults to \fImedium\fR. If the commit is a merge, and if the pretty\-format is not \fIoneline\fR, \fIemail\fR or \fIraw\fR, an additional line is inserted before the \fIAuthor:\fR line. This line begins with "Merge: " and the sha1s of ancestral commits are printed, separated by spaces. Note that the listed commits may not necessarily be the list of the \fBdirect\fR parent commits if you have limited your view of history: for example, if you are only interested in changes related to a certain directory or file. Here are some additional details for each format:
-.RS
+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. When left out the format default to \fImedium\fR.
+.TP
+\-\-encoding[=<encoding>]
+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.
+.SH "PRETTY FORMATS"
+If the commit is a merge, and if the pretty\-format is not \fIoneline\fR, \fIemail\fR or \fIraw\fR, an additional line is inserted before the \fIAuthor:\fR line. This line begins with "Merge: " and the sha1s of ancestral commits are printed, separated by spaces. Note that the listed commits may not necessarily be the list of the \fBdirect\fR parent commits if you have limited your view of history: for example, if you are only interested in changes related to a certain directory or file.
+
+Here are some additional details for each format:
.TP 3
\(bu
\fIoneline\fR
.fi
.sp
.nf
-full commit message>
+<full commit message>
.fi
.TP
\(bu
\fIformat:\fR
The \fIformat:\fR format allows you to specify which information you want to show. It works a little bit like printf format, with the notable exception that you get a newline with \fI%n\fR instead of \fI\\n\fR.
-.RE
-E.g, \fIformat:"The author of %h was %an, %ar%nThe title was >>%s<<"\fR would show something like this:
-
-The author of fe6e0ee was Junio C Hamano, 23 hours ago The title was >>t4119: test autocomputing \-p<n> for traditional diff input.<<
+E.g, \fIformat:"The author of %h was %an, %ar%nThe title was >>%s<<%n"\fR would show something like this:
+.sp
+.nf
+The author of fe6e0ee was Junio C Hamano, 23 hours ago
+The title was >>t4119: test autocomputing \-p<n> for traditional diff input.<<
+.fi
The placeholders are:
+.RS
.TP 3
\(bu
\fI%H\fR: commit hash
.TP
\(bu
\fI%n\fR: newline
-.RS
-.TP
-\-\-encoding[=<encoding>]
-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
.SH "EXAMPLES"
.TP
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GITATTRIBUTES" "5" "04/29/2007" "Git 1.5.2.rc0.95.ga0715" "Git Manual"
+.TH "GITATTRIBUTES" "5" "05/15/2007" "Git 1.5.2.rc3.39.gaf9b" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.br
\fBident\fR
.RS 3
-When the attribute ident is set to a path, git replaces $ident$ in the blob object with $ident:, followed by 40\-character hexadecimal blob object name, followed by a dollar sign $ upon checkout. Any byte sequence that begins with $ident: and ends with $ in the worktree file is replaced with $ident$ upon check\-in.
+When the attribute ident is set to a path, git replaces $Id$ in the blob object with $Id:, followed by 40\-character hexadecimal blob object name, followed by a dollar sign $ upon checkout. Any byte sequence that begins with $Id: and ends with $ in the worktree file is replaced with $Id$ upon check\-in.
.RE
.sp
.it 1 an-trap