Skip to content

Commit 5a6c20a

Browse files
committed
WORK-AROUND: force fmt_ident(...) to succeed
Signed-off-by: Johannes Schindelin <[email protected]>
1 parent 48a2b7d commit 5a6c20a

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

ident.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,12 @@ const char *git_author_info(int flag)
436436
author_ident_explicitly_given |= IDENT_NAME_GIVEN;
437437
if (getenv("GIT_AUTHOR_EMAIL"))
438438
author_ident_explicitly_given |= IDENT_MAIL_GIVEN;
439+
if (1) {
440+
char *name = xstrdup_or_null(getenv("GIT_AUTHOR_NAME")), *email = xstrdup_or_null(getenv("GIT_AUTHOR_EMAIL")), *date = xstrdup_or_null(getenv("GIT_AUTHOR_DATE"));
441+
const char *res = fmt_ident(name, email, date, flag);
442+
free(name); free(email); free(date);
443+
return res;
444+
}
439445
return fmt_ident(getenv("GIT_AUTHOR_NAME"),
440446
getenv("GIT_AUTHOR_EMAIL"),
441447
getenv("GIT_AUTHOR_DATE"),
@@ -448,6 +454,12 @@ const char *git_committer_info(int flag)
448454
committer_ident_explicitly_given |= IDENT_NAME_GIVEN;
449455
if (getenv("GIT_COMMITTER_EMAIL"))
450456
committer_ident_explicitly_given |= IDENT_MAIL_GIVEN;
457+
if (1) {
458+
char *name = xstrdup_or_null(getenv("GIT_COMMITTER_NAME")), *email = xstrdup_or_null(getenv("GIT_COMMITTER_EMAIL")), *date = xstrdup_or_null(getenv("GIT_COMMITTER_DATE"));
459+
const char *res = fmt_ident(name, email, date, flag);
460+
free(name); free(email); free(date);
461+
return res;
462+
}
451463
return fmt_ident(getenv("GIT_COMMITTER_NAME"),
452464
getenv("GIT_COMMITTER_EMAIL"),
453465
getenv("GIT_COMMITTER_DATE"),

log-tree.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -685,10 +685,12 @@ void show_log(struct rev_info *opt)
685685
/*
686686
* And then the pretty-printed message itself
687687
*/
688-
if (ctx.need_8bit_cte >= 0 && opt->add_signoff)
689-
ctx.need_8bit_cte =
690-
has_non_ascii(fmt_name(getenv("GIT_COMMITTER_NAME"),
691-
getenv("GIT_COMMITTER_EMAIL")));
688+
if (ctx.need_8bit_cte >= 0 && opt->add_signoff) {
689+
char *name = xstrdup_or_null(getenv("GIT_COMMITTER_NAME")), *email = xstrdup_or_null(getenv("GIT_COMMITTER_EMAIL"));
690+
691+
ctx.need_8bit_cte = has_non_ascii(fmt_name(name, email));
692+
free(name); free(email);
693+
}
692694
ctx.date_mode = opt->date_mode;
693695
ctx.date_mode_explicit = opt->date_mode_explicit;
694696
ctx.abbrev = opt->diffopt.abbrev;

sequencer.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4034,10 +4034,11 @@ void append_signoff(struct strbuf *msgbuf, size_t ignore_footer, unsigned flag)
40344034
unsigned no_dup_sob = flag & APPEND_SIGNOFF_DEDUP;
40354035
struct strbuf sob = STRBUF_INIT;
40364036
int has_footer;
4037+
char *name = xstrdup_or_null(getenv("GIT_COMMITTER_NAME")), *email = xstrdup_or_null(getenv("GIT_COMMITTER_EMAIL"));
40374038

40384039
strbuf_addstr(&sob, sign_off_header);
4039-
strbuf_addstr(&sob, fmt_name(getenv("GIT_COMMITTER_NAME"),
4040-
getenv("GIT_COMMITTER_EMAIL")));
4040+
strbuf_addstr(&sob, fmt_name(name, email));
4041+
FREE_AND_NULL(name); FREE_AND_NULL(email);
40414042
strbuf_addch(&sob, '\n');
40424043

40434044
if (!ignore_footer)

0 commit comments

Comments
 (0)