diff options
| author | Junio C Hamano <gitster@pobox.com> | 2019-11-10 18:02:16 +0900 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2019-11-10 18:02:16 +0900 |
| commit | c22f63c40f0a576f3938dfd26c976ec052aa7fe2 (patch) | |
| tree | a7f627aaa3d46fd42977f4ec64afd0582bf295b8 /pretty.c | |
| parent | 5731ca365789a04faecc281be24ea2eb0e438215 (diff) | |
| parent | d8b8217c8a16944dc61a1553464efabc450a6680 (diff) | |
| download | git-c22f63c40f0a576f3938dfd26c976ec052aa7fe2.tar.xz | |
Merge branch 'pb/pretty-email-without-domain-part'
The custom format for "git log --format=<format>" learned the l/L
placeholder that is similar to e/E that fills in the e-mail
address, but only the local part on the left side of '@'.
* pb/pretty-email-without-domain-part:
pretty: add "%aL" etc. to show local-part of email addresses
t4203: use test-lib.sh definitions
t6006: use test-lib.sh definitions
Diffstat (limited to 'pretty.c')
| -rw-r--r-- | pretty.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -696,7 +696,7 @@ static size_t format_person_part(struct strbuf *sb, char part, mail = s.mail_begin; maillen = s.mail_end - s.mail_begin; - if (part == 'N' || part == 'E') /* mailmap lookup */ + if (part == 'N' || part == 'E' || part == 'L') /* mailmap lookup */ mailmap_name(&mail, &maillen, &name, &namelen); if (part == 'n' || part == 'N') { /* name */ strbuf_add(sb, name, namelen); @@ -706,6 +706,13 @@ static size_t format_person_part(struct strbuf *sb, char part, strbuf_add(sb, mail, maillen); return placeholder_len; } + if (part == 'l' || part == 'L') { /* local-part */ + const char *at = memchr(mail, '@', maillen); + if (at) + maillen = at - mail; + strbuf_add(sb, mail, maillen); + return placeholder_len; + } if (!s.date_begin) goto skip; |
