Merge branch 'js/maint-pretty-mailmap'
* js/maint-pretty-mailmap: Add pretty format %aN which gives the author name, respecting .mailmap
This commit is contained in:
commit
fab600ce2e
@ -101,6 +101,7 @@ The placeholders are:
|
|||||||
- '%P': parent hashes
|
- '%P': parent hashes
|
||||||
- '%p': abbreviated parent hashes
|
- '%p': abbreviated parent hashes
|
||||||
- '%an': author name
|
- '%an': author name
|
||||||
|
- '%aN': author name (respecting .mailmap)
|
||||||
- '%ae': author email
|
- '%ae': author email
|
||||||
- '%ad': author date
|
- '%ad': author date
|
||||||
- '%aD': author date, RFC2822 style
|
- '%aD': author date, RFC2822 style
|
||||||
@ -108,6 +109,7 @@ The placeholders are:
|
|||||||
- '%at': author date, UNIX timestamp
|
- '%at': author date, UNIX timestamp
|
||||||
- '%ai': author date, ISO 8601 format
|
- '%ai': author date, ISO 8601 format
|
||||||
- '%cn': committer name
|
- '%cn': committer name
|
||||||
|
- '%cN': committer name (respecting .mailmap)
|
||||||
- '%ce': committer email
|
- '%ce': committer email
|
||||||
- '%cd': committer date
|
- '%cd': committer date
|
||||||
- '%cD': committer date, RFC2822 style
|
- '%cD': committer date, RFC2822 style
|
||||||
|
27
pretty.c
27
pretty.c
@ -3,6 +3,8 @@
|
|||||||
#include "utf8.h"
|
#include "utf8.h"
|
||||||
#include "diff.h"
|
#include "diff.h"
|
||||||
#include "revision.h"
|
#include "revision.h"
|
||||||
|
#include "path-list.h"
|
||||||
|
#include "mailmap.h"
|
||||||
|
|
||||||
static char *user_format;
|
static char *user_format;
|
||||||
|
|
||||||
@ -288,6 +290,25 @@ static char *logmsg_reencode(const struct commit *commit,
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int mailmap_name(struct strbuf *sb, const char *email)
|
||||||
|
{
|
||||||
|
static struct path_list *mail_map;
|
||||||
|
char buffer[1024];
|
||||||
|
|
||||||
|
if (!mail_map) {
|
||||||
|
mail_map = xcalloc(1, sizeof(*mail_map));
|
||||||
|
read_mailmap(mail_map, ".mailmap", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mail_map->nr)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (!map_email(mail_map, email, buffer, sizeof(buffer)))
|
||||||
|
return -1;
|
||||||
|
strbuf_addstr(sb, buffer);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static size_t format_person_part(struct strbuf *sb, char part,
|
static size_t format_person_part(struct strbuf *sb, char part,
|
||||||
const char *msg, int len)
|
const char *msg, int len)
|
||||||
{
|
{
|
||||||
@ -309,10 +330,12 @@ static size_t format_person_part(struct strbuf *sb, char part,
|
|||||||
if (end >= len - 2)
|
if (end >= len - 2)
|
||||||
goto skip;
|
goto skip;
|
||||||
|
|
||||||
if (part == 'n') { /* name */
|
if (part == 'n' || part == 'N') { /* name */
|
||||||
while (end > 0 && isspace(msg[end - 1]))
|
while (end > 0 && isspace(msg[end - 1]))
|
||||||
end--;
|
end--;
|
||||||
strbuf_add(sb, msg, end);
|
if (part != 'N' || !msg[end] || !msg[end + 1] ||
|
||||||
|
mailmap_name(sb, msg + end + 2) < 0)
|
||||||
|
strbuf_add(sb, msg, end);
|
||||||
return placeholder_len;
|
return placeholder_len;
|
||||||
}
|
}
|
||||||
start = ++end; /* save email start position */
|
start = ++end; /* save email start position */
|
||||||
|
Loading…
Reference in New Issue
Block a user