Merge branch 'bs/doc-blame-color-lines'

The "--color-lines" and "--color-by-age" options of "git blame"
have been missing, which are now documented.

* bs/doc-blame-color-lines:
  blame: document --color-* options
  blame: describe default output format
This commit is contained in:
Junio C Hamano 2021-10-18 15:47:58 -07:00
commit 871e42eb09
3 changed files with 44 additions and 17 deletions

View File

@ -136,5 +136,16 @@ take effect.
option. An empty file name, `""`, will clear the list of revs from option. An empty file name, `""`, will clear the list of revs from
previously processed files. previously processed files.
--color-lines::
Color line annotations in the default format differently if they come from
the same commit as the preceding line. This makes it easier to distinguish
code blocks introduced by different commits. The color defaults to cyan and
can be adjusted using the `color.blame.repeatedLines` config option.
--color-by-age::
Color line annotations depending on the age of the line in the default format.
The `color.blame.highlightRecent` config option controls what color is used for
each range of age.
-h:: -h::
Show help message. Show help message.

View File

@ -9,26 +9,29 @@ color.advice.hint::
Use customized color for hints. Use customized color for hints.
color.blame.highlightRecent:: color.blame.highlightRecent::
This can be used to color the metadata of a blame line depending Specify the line annotation color for `git blame --color-by-age`
on age of the line. depending upon the age of the line.
+ +
This setting should be set to a comma-separated list of color and date settings, This setting should be set to a comma-separated list of color and
starting and ending with a color, the dates should be set from oldest to newest. date settings, starting and ending with a color, the dates should be
The metadata will be colored given the colors if the line was introduced set from oldest to newest. The metadata will be colored with the
before the given timestamp, overwriting older timestamped colors. specified colors if the line was introduced before the given
timestamp, overwriting older timestamped colors.
+ +
Instead of an absolute timestamp relative timestamps work as well, e.g. Instead of an absolute timestamp relative timestamps work as well,
2.weeks.ago is valid to address anything older than 2 weeks. e.g. `2.weeks.ago` is valid to address anything older than 2 weeks.
+ +
It defaults to 'blue,12 month ago,white,1 month ago,red', which colors It defaults to `blue,12 month ago,white,1 month ago,red`, which
everything older than one year blue, recent changes between one month and colors everything older than one year blue, recent changes between
one year old are kept white, and lines introduced within the last month are one month and one year old are kept white, and lines introduced
colored red. within the last month are colored red.
color.blame.repeatedLines:: color.blame.repeatedLines::
Use the customized color for the part of git-blame output that Use the specified color to colorize line annotations for
is repeated meta information per line (such as commit id, `git blame --color-lines`, if they come from the same commit as the
author name, date and timezone). Defaults to cyan. preceding line. Defaults to cyan.
color.branch:: color.branch::
A boolean to enable/disable color in the output of A boolean to enable/disable color in the output of

View File

@ -11,8 +11,8 @@ SYNOPSIS
'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental] 'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental]
[-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>] [-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>]
[--ignore-rev <rev>] [--ignore-revs-file <file>] [--ignore-rev <rev>] [--ignore-revs-file <file>]
[--progress] [--abbrev=<n>] [<rev> | --contents <file> | --reverse <rev>..<rev>] [--color-lines] [--color-by-age] [--progress] [--abbrev=<n>]
[--] <file> [<rev> | --contents <file> | --reverse <rev>..<rev>] [--] <file>
DESCRIPTION DESCRIPTION
----------- -----------
@ -93,6 +93,19 @@ include::blame-options.txt[]
is used for a caret to mark the boundary commit. is used for a caret to mark the boundary commit.
THE DEFAULT FORMAT
------------------
When neither `--porcelain` nor `--incremental` option is specified,
`git blame` will output annotation for each line with:
- abbreviated object name for the commit the line came from;
- author ident (by default author name and date, unless `-s` or `-e`
is specified); and
- line number
before the line contents.
THE PORCELAIN FORMAT THE PORCELAIN FORMAT
-------------------- --------------------