From: Quentin Neill <quentin.ne...@gmail.com>

        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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to