зеркало из https://github.com/microsoft/git.git
commit-tree: cope with different ways "utf-8" can be spelled.
People can spell config.commitencoding differently from what we internally have ("utf-8") to mean UTF-8. Try to accept them and treat them equally. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
7cbcf4d557
Коммит
677cfed56a
|
@ -119,8 +119,7 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Not having i18n.commitencoding is the same as having utf-8 */
|
/* Not having i18n.commitencoding is the same as having utf-8 */
|
||||||
encoding_is_utf8 = (!git_commit_encoding ||
|
encoding_is_utf8 = is_encoding_utf8(git_commit_encoding);
|
||||||
!strcmp(git_commit_encoding, "utf-8"));
|
|
||||||
|
|
||||||
init_buffer(&buffer, &size);
|
init_buffer(&buffer, &size);
|
||||||
add_buffer(&buffer, &size, "tree %s\n", sha1_to_hex(tree_sha1));
|
add_buffer(&buffer, &size, "tree %s\n", sha1_to_hex(tree_sha1));
|
||||||
|
|
9
utf8.c
9
utf8.c
|
@ -277,6 +277,15 @@ void print_wrapped_text(const char *text, int indent, int indent2, int width)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int is_encoding_utf8(const char *name)
|
||||||
|
{
|
||||||
|
if (!name)
|
||||||
|
return 1;
|
||||||
|
if (!strcasecmp(name, "utf-8") || !strcasecmp(name, "utf8"))
|
||||||
|
return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Given a buffer and its encoding, return it re-encoded
|
* Given a buffer and its encoding, return it re-encoded
|
||||||
* with iconv. If the conversion fails, returns NULL.
|
* with iconv. If the conversion fails, returns NULL.
|
||||||
|
|
2
utf8.h
2
utf8.h
|
@ -3,6 +3,8 @@
|
||||||
|
|
||||||
int utf8_width(const char **start);
|
int utf8_width(const char **start);
|
||||||
int is_utf8(const char *text);
|
int is_utf8(const char *text);
|
||||||
|
int is_encoding_utf8(const char *name);
|
||||||
|
|
||||||
void print_wrapped_text(const char *text, int indent, int indent2, int len);
|
void print_wrapped_text(const char *text, int indent, int indent2, int len);
|
||||||
|
|
||||||
#ifndef NO_ICONV
|
#ifndef NO_ICONV
|
||||||
|
|
Загрузка…
Ссылка в новой задаче