From: Quentin Neill <[email protected]>
If you prefer seeing emails in your git blame output, rather
than sprinkling '-e' options everywhere you can just set
the new config blame.showemail to true.
---
Documentation/blame-options.txt | 5 +++++
Documentation/git-blame.txt | 4 ----
builtin/blame.c | 11 ++++++++---
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/Documentation/blame-options.txt b/Documentation/blame-options.txt
index b299b59..9326115 100644
--- a/Documentation/blame-options.txt
+++ b/Documentation/blame-options.txt
@@ -1,6 +1,11 @@
-b::
Show blank SHA-1 for boundary commits. This can also
be controlled via the `blame.blankboundary` config option.
+-e::
+--show-email::
+ Show the author email instead of author name (Default: off).
+ This can also be controlled via the `blame.showemail` config
+ option.
--root::
Do not treat root commits as boundaries. This can also be
diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt
index 9f23a86..50a9030 100644
--- a/Documentation/git-blame.txt
+++ b/Documentation/git-blame.txt
@@ -73,10 +73,6 @@ include::blame-options.txt[]
-s::
Suppress the author name and timestamp from the output.
--e::
---show-email::
- Show the author email instead of author name (Default: off).
-
-w::
Ignore whitespace when comparing the parent's version and
the child's to find where the lines came from.
diff --git a/builtin/blame.c b/builtin/blame.c
index 06484c2..70bfd0a 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -44,6 +44,7 @@ static int max_score_digits;
static int show_root;
static int reverse;
static int blank_boundary;
+static int show_email;
static int incremental;
static int xdl_opts;
static int abbrev = -1;
@@ -1926,7 +1927,7 @@ static void emit_other(struct scoreboard *sb, struct
blame_entry *ent, int opt)
printf("%.*s", length, hex);
if (opt & OUTPUT_ANNOTATE_COMPAT) {
const char *name;
- if (opt & OUTPUT_SHOW_EMAIL)
+ if ((opt & OUTPUT_SHOW_EMAIL) || show_email)
name = ci.author_mail.buf;
else
name = ci.author.buf;
@@ -1949,7 +1950,7 @@ static void emit_other(struct scoreboard *sb, struct
blame_entry *ent, int opt)
if (!(opt & OUTPUT_NO_AUTHOR)) {
const char *name;
int pad;
- if (opt & OUTPUT_SHOW_EMAIL)
+ if ((opt & OUTPUT_SHOW_EMAIL) || show_email)
name = ci.author_mail.buf;
else
name = ci.author.buf;
@@ -2098,7 +2099,7 @@ static void find_alignment(struct scoreboard *sb, int
*option)
struct commit_info ci;
suspect->commit->object.flags |= METAINFO_SHOWN;
get_commit_info(suspect->commit, &ci, 1);
- if (*option & OUTPUT_SHOW_EMAIL)
+ if ((*option & OUTPUT_SHOW_EMAIL) || show_email)
num = utf8_strwidth(ci.author_mail.buf);
else
num = utf8_strwidth(ci.author.buf);
@@ -2185,6 +2186,10 @@ static int git_blame_config(const char *var, const char
*value, void *cb)
blank_boundary = git_config_bool(var, value);
return 0;
}
+ if (!strcmp(var, "blame.showemail")) {
+ show_email = git_config_bool(var, value);
+ return 0;
+ }
if (!strcmp(var, "blame.date")) {
if (!value)
return config_error_nonbool(var);
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html