Re: [PATCH 3/2] attribute "coding": specify blob encoding
From: Tsugikazu Shibata <hidden>
Date: 2016-06-15 22:44:02
On Thu, 03 Jan 2008 13:54:58 -0800, gitster wrote:
しらいしななこ [off-list ref] writes:quoted
Quoting Junio C Hamano [off-list ref]:quoted
This teaches "diff hunk header" function about custom character encoding per path via gitattributes(5) so that it can sensibly chomp a line without truncating a character in the middle. Signed-off-by: Junio C Hamano <redacted> --- * This is not intended for serious inclusion, but was done more as a demonstration of the concept, hence [3/2].
...
quoted
quoted
+static struct { + const char *coding; + sane_truncate_fn fn; +} builtin_truncate_fn[] = { + { "euc-jp", truncate_euc_jp }, + { "utf-8", NULL }, +};Can you also do JIS and Shift JIS? I ask because many of my old notes are in Shift JIS and I think it is the same for many other people.I guess somebody else could (hint, hint,...). Shift_JIS should be more or less straightforward to add. With the current code structure, however, ISO-2022 (you said "JIS" -- Japanese often use that word to mean 7-bit ISO-2022 and so did you in this context) is a bit cumbersome to handle, as you cannot just truncate but also have to add a few escape bytes to go back to ASCII at the end of line.
I guess that there are many other encodings and support everything are not reasonable. In my experience, It seems that chopping a multi-byte character occurs the field after "@@". I believe this field is for the name of the appropriate function. Also, I believe most of the function names are in ASCII. So, question is why we should think of this field in case of non programming language files ? In case of text file using any coding, Should we need to add something after "@@"? How about not to add anything after "@@" when the file name was .txt or no extension (ie. HOWTO)?