зеркало из https://github.com/microsoft/git.git
Avoid to duplicate commit message when is not encoded
When a commit message doesn't have encoding information and encoding output is utf-8 (default) then an useless xstrdup() of commit message is done. If we assume most of users live in an utf-8 world, this useless copy is the common case. Performance issue found with KCachegrind. Signed-off-by: Marco Costalba <mcostalba@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
e5633cbb85
Коммит
c4640fe8d9
5
commit.c
5
commit.c
|
@ -721,7 +721,10 @@ static char *logmsg_reencode(const struct commit *commit,
|
|||
encoding = get_header(commit, "encoding");
|
||||
use_encoding = encoding ? encoding : utf8;
|
||||
if (!strcmp(use_encoding, output_encoding))
|
||||
out = xstrdup(commit->buffer);
|
||||
if (encoding) /* we'll strip encoding header later */
|
||||
out = xstrdup(commit->buffer);
|
||||
else
|
||||
return NULL; /* nothing to do */
|
||||
else
|
||||
out = reencode_string(commit->buffer,
|
||||
output_encoding, use_encoding);
|
||||
|
|
Загрузка…
Ссылка в новой задаче