Thread (15 messages) 15 messages, 4 authors, 2018-03-09

Re: [PATCH v10 6/9] convert: add 'working-tree-encoding' attribute

From: Eric Sunshine <hidden>
Date: 2018-03-07 17:54:58

On Wed, Mar 7, 2018 at 12:30 PM,  [off-list ref] wrote:
quoted hunk ↗ jump to hunk
[...]
Add an attribute to tell Git what encoding the user has defined for a
given file. If the content is added to the index, then Git converts the
content to a canonical UTF-8 representation. On checkout Git will
reverse the conversion.

Signed-off-by: Lars Schneider <redacted>
---
 Documentation/gitattributes.txt  |  80 +++++++++++++++++++++++
diff --git a/convert.c b/convert.c
@@ -265,6 +266,78 @@ static int will_convert_lf_to_crlf(size_t len, struct text_stat *stats,
+static const char *default_encoding = "UTF-8";
@@ -978,6 +1051,21 @@ static int ident_to_worktree(const char *path, const char *src, size_t len,
+static const char *git_path_check_encoding(struct attr_check_item *check)
+{
+       const char *value = check->value;
+
+       if (ATTR_TRUE(value) || ATTR_FALSE(value) || ATTR_UNSET(value) ||
+           !strlen(value))
+               return NULL;
+
+       /* Don't encode to the default encoding */
+       if (!strcasecmp(value, default_encoding))
+               return NULL;
As of v10, the rest of the code accepts encoding names "UTF-xx" and
"UTFxx" (case insensitive), however, this check recognizes only
"UTF-8" (case insensitive). For consistency, one would expect this
also to recognize "UTF8" (case insensitive).
+
+       return value;
+}
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help