You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.5 KiB
94 lines
2.5 KiB
git-contacts(1) |
|
=============== |
|
|
|
NAME |
|
---- |
|
git-contacts - List people who might be interested in a set of changes |
|
|
|
|
|
SYNOPSIS |
|
-------- |
|
[verse] |
|
'git contacts' (<patch>|<range>|<rev>)... |
|
|
|
|
|
DESCRIPTION |
|
----------- |
|
|
|
Given a set of changes, specified as patch files or revisions, determine people |
|
who might be interested in those changes. This is done by consulting the |
|
history of each patch or revision hunk to find people mentioned by commits |
|
which touched the lines of files under consideration. |
|
|
|
Input consists of one or more patch files or revision arguments. A revision |
|
argument can be a range or a single `<rev>` which is interpreted as |
|
`<rev>..HEAD`, thus the same revision arguments are accepted as for |
|
linkgit:git-format-patch[1]. Patch files and revision arguments can be combined |
|
in the same invocation. |
|
|
|
This command can be useful for determining the list of people with whom to |
|
discuss proposed changes, or for finding the list of recipients to Cc: when |
|
submitting a patch series via `git send-email`. For the latter case, `git |
|
contacts` can be used as the argument to `git send-email`'s `--cc-cmd` option. |
|
|
|
|
|
DISCUSSION |
|
---------- |
|
|
|
`git blame` is invoked for each hunk in a patch file or revision. For each |
|
commit mentioned by `git blame`, the commit message is consulted for people who |
|
authored, reviewed, signed, acknowledged, or were Cc:'d. Once the list of |
|
participants is known, each person's relevance is computed by considering how |
|
many commits mentioned that person compared with the total number of commits |
|
under consideration. The final output consists only of participants who exceed |
|
a minimum threshold of participation. |
|
|
|
|
|
OUTPUT |
|
------ |
|
|
|
For each person of interest, a single line is output, terminated by a newline. |
|
If the person's name is known, ``Name $$<user@host>$$'' is printed; otherwise |
|
only ``$$<user@host>$$'' is printed. |
|
|
|
|
|
EXAMPLES |
|
-------- |
|
|
|
* Consult patch files: |
|
+ |
|
------------ |
|
$ git contacts feature/*.patch |
|
------------ |
|
|
|
* Revision range: |
|
+ |
|
------------ |
|
$ git contacts R1..R2 |
|
------------ |
|
|
|
* From a single revision to `HEAD`: |
|
+ |
|
------------ |
|
$ git contacts origin |
|
------------ |
|
|
|
* Helper for `git send-email`: |
|
+ |
|
------------ |
|
$ git send-email --cc-cmd='git contacts' feature/*.patch |
|
------------ |
|
|
|
|
|
LIMITATIONS |
|
----------- |
|
|
|
Several conditions controlling a person's significance are currently |
|
hard-coded, such as minimum participation level (10%), blame date-limiting (5 |
|
years), and `-C` level for detecting moved and copied lines (a single `-C`). In |
|
the future, these conditions may become configurable. |
|
|
|
|
|
GIT |
|
--- |
|
Part of the linkgit:git[1] suite
|
|
|