Use customized color for branch coloration. `<slot>` is one of
`current` (the current branch), `local` (a local branch),
`remote` (a tracking branch in refs/remotes/), `plain` (other
- refs), or `reset` (the normal terminal color). The value for
- these configuration variables can be one of: `normal`, `bold`,
- `dim`, `ul`, `blink`, `reverse`, `reset`, `black`, `red`,
- `green`, `yellow`, `blue`, `magenta`, `cyan`, or `white`.
+ refs).
++
+The value for these configuration variables is a list of colors (at most
+two) and attributes (at most one), separated by spaces. The colors
+accepted are `normal`, `black`, `red`, `green`, `yellow`, `blue`,
+`magenta`, `cyan` and `white`; the attributes are `bold`, `dim`, `ul`,
+`blink` and `reverse`. The first color given is the foreground; the
+second is the background. The position of the attribute, if any,
+doesn't matter.
color.diff::
When true (or `always`), always use colors in patch.
colors only when the output is to the terminal.
color.diff.<slot>::
- Use customized color for diff colorization. `<slot>`
- specifies which part of the patch to use the specified
- color, and is one of `plain` (context text), `meta`
- (metainformation), `frag` (hunk header), `old` (removed
- lines), or `new` (added lines). The values of these
- variables may be specified as in color.branch.<slot>.
+ Use customized color for diff colorization. `<slot>` specifies
+ which part of the patch to use the specified color, and is one
+ of `plain` (context text), `meta` (metainformation), `frag`
+ (hunk header), `old` (removed lines), `new` (added lines),
+ `commit` (commit headers), or `whitespace` (highlighting dubious
+ whitespace). The values of these variables may be specified as
+ in color.branch.<slot>.
color.pager::
A boolean to enable/disable colored output when the pager is in
<h2>SYNOPSIS</h2>\r
<div class="sectionbody">\r
<div class="verseblock">\r
-<div class="content"><em>git-blame</em> [-c] [-l] [-t] [-f] [-n] [-p] [-L n,m] [-S <revs-file>]\r
+<div class="content"><em>git-blame</em> [-c] [-l] [-t] [-f] [-n] [-p] [--incremental] [-L n,m] [-S <revs-file>]\r
[-M] [-C] [-C] [--since=<date>] [<rev>] [--] <file></div></div>\r
</div>\r
<h2>DESCRIPTION</h2>\r
</p>\r
</dd>\r
<dt>\r
+--incremental\r
+</dt>\r
+<dd>\r
+<p>\r
+ Show the result incrementally in a format designed for\r
+ machine consumption.\r
+</p>\r
+</dd>\r
+<dt>\r
-M\r
</dt>\r
<dd>\r
<pre><tt>git blame -C -C -f $commit^! -- foo</tt></pre>\r
</div></div>\r
</div>\r
+<h2>INCREMENTAL OUTPUT</h2>\r
+<div class="sectionbody">\r
+<p>When called with <tt>--incremental</tt> option, the command outputs the\r
+result as it is built. The output generally will talk about\r
+lines touched by more recent commits first (i.e. the lines will\r
+be annotated out of order) and is meant to be used by\r
+interactive viewers.</p>\r
+<p>The output format is similar to the Porcelain format, but it\r
+does not contain the actual lines from the file that is being\r
+annotated.</p>\r
+<ol>\r
+<li>\r
+<p>\r
+Each blame entry always starts with a line of:\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt><40-byte hex sha1> <sourceline> <resultline> <num_lines></tt></pre>\r
+</div></div>\r
+<p>Line numbers count from 1.</p>\r
+</li>\r
+<li>\r
+<p>\r
+The first time that commit shows up in the stream, it has various\r
+ other information about it printed out with a one-word tag at the\r
+ beginning of each line about that "extended commit info" (author,\r
+ email, committer, dates, summary etc).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Unlike Porcelain format, the filename information is always\r
+ given and terminates the entry:\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>"filename" <whitespace-quoted-filename-goes-here></tt></pre>\r
+</div></div>\r
+<p>and thus it's really quite easy to parse for some line- and word-oriented\r
+parser (which should be quite natural for most scripting languages).</p>\r
+<div class="admonitionblock">\r
+<table><tr>\r
+<td class="icon">\r
+<div class="title">Note</div>\r
+</td>\r
+<td class="content">For people who do parsing: to make it more robust, just ignore any\r
+lines in between the first and last one ("<sha1>" and "filename" lines)\r
+where you don't recognize the tag-words (or care about that particular\r
+one) at the beginning of the "extended information" lines. That way, if\r
+there is ever added information (like the commit encoding or extended\r
+commit commentary), a blame viewer won't ever care.</td>\r
+</tr></table>\r
+</div>\r
+</li>\r
+</ol>\r
+</div>\r
<h2>SEE ALSO</h2>\r
<div class="sectionbody">\r
<p><a href="git-annotate.html">git-annotate(1)</a></p>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 17-Jan-2007 23:27:38 UTC\r
+Last updated 28-Jan-2007 20:55:10 UTC\r
</div>\r
</div>\r
</body>\r
SYNOPSIS
--------
[verse]
-'git-blame' [-c] [-l] [-t] [-f] [-n] [-p] [-L n,m] [-S <revs-file>]
+'git-blame' [-c] [-l] [-t] [-f] [-n] [-p] [--incremental] [-L n,m] [-S <revs-file>]
[-M] [-C] [-C] [--since=<date>] [<rev>] [--] <file>
DESCRIPTION
-p, --porcelain::
Show in a format designed for machine consumption.
+--incremental::
+ Show the result incrementally in a format designed for
+ machine consumption.
+
-M::
Detect moving lines in the file as well. When a commit
moves a block of lines in a file (e.g. the original file
git blame -C -C -f $commit^! -- foo
+INCREMENTAL OUTPUT
+------------------
+
+When called with `--incremental` option, the command outputs the
+result as it is built. The output generally will talk about
+lines touched by more recent commits first (i.e. the lines will
+be annotated out of order) and is meant to be used by
+interactive viewers.
+
+The output format is similar to the Porcelain format, but it
+does not contain the actual lines from the file that is being
+annotated.
+
+. Each blame entry always starts with a line of:
+
+ <40-byte hex sha1> <sourceline> <resultline> <num_lines>
++
+Line numbers count from 1.
+
+. The first time that commit shows up in the stream, it has various
+ other information about it printed out with a one-word tag at the
+ beginning of each line about that "extended commit info" (author,
+ email, committer, dates, summary etc).
+
+. Unlike Porcelain format, the filename information is always
+ given and terminates the entry:
+
+ "filename" <whitespace-quoted-filename-goes-here>
++
+and thus it's really quite easy to parse for some line- and word-oriented
+parser (which should be quite natural for most scripting languages).
++
+[NOTE]
+For people who do parsing: to make it more robust, just ignore any
+lines in between the first and last one ("<sha1>" and "filename" lines)
+where you don't recognize the tag-words (or care about that particular
+one) at the beginning of the "extended information" lines. That way, if
+there is ever added information (like the commit encoding or extended
+commit commentary), a blame viewer won't ever care.
+
+
SEE ALSO
--------
gitlink:git-annotate[1]
Use customized color for branch coloration. <tt><slot></tt> is one of\r
<tt>current</tt> (the current branch), <tt>local</tt> (a local branch),\r
<tt>remote</tt> (a tracking branch in refs/remotes/), <tt>plain</tt> (other\r
- refs), or <tt>reset</tt> (the normal terminal color). The value for\r
- these configuration variables can be one of: <tt>normal</tt>, <tt>bold</tt>,\r
- <tt>dim</tt>, <tt>ul</tt>, <tt>blink</tt>, <tt>reverse</tt>, <tt>reset</tt>, <tt>black</tt>, <tt>red</tt>,\r
- <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>, <tt>magenta</tt>, <tt>cyan</tt>, or <tt>white</tt>.\r
+ refs).\r
</p>\r
+<p>The value for these configuration variables is a list of colors (at most\r
+two) and attributes (at most one), separated by spaces. The colors\r
+accepted are <tt>normal</tt>, <tt>black</tt>, <tt>red</tt>, <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>,\r
+<tt>magenta</tt>, <tt>cyan</tt> and <tt>white</tt>; the attributes are <tt>bold</tt>, <tt>dim</tt>, <tt>ul</tt>,\r
+<tt>blink</tt> and <tt>reverse</tt>. The first color given is the foreground; the\r
+second is the background. The position of the attribute, if any,\r
+doesn't matter.</p>\r
</dd>\r
<dt>\r
color.diff\r
</dt>\r
<dd>\r
<p>\r
- Use customized color for diff colorization. <tt><slot></tt>\r
- specifies which part of the patch to use the specified\r
- color, and is one of <tt>plain</tt> (context text), <tt>meta</tt>\r
- (metainformation), <tt>frag</tt> (hunk header), <tt>old</tt> (removed\r
- lines), or <tt>new</tt> (added lines). The values of these\r
- variables may be specified as in color.branch.<slot>.\r
+ Use customized color for diff colorization. <tt><slot></tt> specifies\r
+ which part of the patch to use the specified color, and is one\r
+ of <tt>plain</tt> (context text), <tt>meta</tt> (metainformation), <tt>frag</tt>\r
+ (hunk header), <tt>old</tt> (removed lines), <tt>new</tt> (added lines),\r
+ <tt>commit</tt> (commit headers), or <tt>whitespace</tt> (highlighting dubious\r
+ whitespace). The values of these variables may be specified as\r
+ in color.branch.<slot>.\r
</p>\r
</dd>\r
<dt>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 28-Jan-2007 10:29:09 UTC\r
+Last updated 28-Jan-2007 20:55:10 UTC\r
</div>\r
</div>\r
</body>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 28-Jan-2007 10:29:11 UTC\r
+Last updated 28-Jan-2007 20:55:12 UTC\r
</div>\r
</div>\r
</body>\r