git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v10 7/9] convert: check for detectable errors in UTF encodings

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 7, 2018, 23:34 UTC
Message-ID
<xmqqmuzjxxxc.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<4465AF18-EBE8-4BA3-8F95-B51630A41B86@gmail.com>
Lars Schneider <larsxschneider@gmail.com> writes:
> I would like to advise the dashed form as this seems to be the
> canonical form and it avoids cross platform issues. My macOS
> iconv does not support the form without dashes.

Sure, that is why I said canonicalization without inserting dash does not make much sense, hence an interim step with only upcasing is not a good idea. A possible interim solution would be to do nothing (no dash insertion, no upcasing) and fixing both in a later follow-up patch, but as I said, I do not care too strongly either way.

Show 12 quoted lines
> Would this approach work for you?
>
> 			const char *advise_msg = _(
> 				"The file '%s' contains a byte order "
> 				"mark (BOM). Please use UTF-%s as "
> 				"working-tree-encoding.");
> 			const char *stripped;
> 			char *upper = xstrdup_toupper(enc);
> 			upper[strlen(upper)-2] = '\0';
> 			skip_prefix(upper, "UTF-", &stripped) ||
> 			skip_prefix(stripped, "UTF", &stripped);
> 			advise(advise_msg, path, stripped);

Are you now interested in not having any interim step and jump directly to the endgame solution? If so, that is fine by me, too, but as I already said earlier (i.e. not doing this BOM check for an encoding that is not spelled in your canonical upcase-with-dash form might be a feature that leaves an escape hatch), I am not all that interested in enforcing policy at this point in the codepath to begin with, so...

Previous: Lars SchneiderNext: lars.schneider@autodesk.com
Message 26 of 32 in “convert: add support for different encodings”
  1. 0/9 convert: add support for different encodingslars.schneider@autodesk.com, Mar 7, 2018
  2. 1/9 strbuf: remove unnecessary NUL assignment in xstrdup_tolower()lars.schneider@autodesk.com, Mar 7, 2018
  3. 2/9 strbuf: add xstrdup_toupper()lars.schneider@autodesk.com, Mar 7, 2018
  4. 3/9 strbuf: add a case insensitive starts_with()lars.schneider@autodesk.com, Mar 7, 2018
  5. Duy NguyenMar 8, 2018
  6. Junio C HamanoMar 8, 2018
  7. Lars SchneiderMar 9, 2018
  8. Junio C HamanoMar 9, 2018
  9. Ævar Arnfjörð BjarmasonMar 9, 2018
  10. 4/9 utf8: add function to detect prohibited UTF-16/32 BOMlars.schneider@autodesk.com, Mar 7, 2018
  11. 5/9 utf8: add function to detect a missing UTF-16/32 BOMlars.schneider@autodesk.com, Mar 7, 2018
  12. 6/9 convert: add 'working-tree-encoding' attributelars.schneider@autodesk.com, Mar 7, 2018
  13. Eric SunshineMar 7, 2018
  14. Lars SchneiderMar 7, 2018
  15. Junio C HamanoMar 7, 2018
  16. Junio C HamanoMar 7, 2018
  17. 7/9 convert: check for detectable errors in UTF encodingslars.schneider@autodesk.com, Mar 7, 2018
  18. Eric SunshineMar 7, 2018
  19. Lars SchneiderMar 9, 2018
  20. Junio C HamanoMar 7, 2018
  21. Lars SchneiderMar 7, 2018
  22. Junio C HamanoMar 7, 2018
  23. Lars SchneiderMar 7, 2018
  24. Junio C HamanoMar 7, 2018
  25. Lars SchneiderMar 7, 2018
  26. Junio C HamanoMar 7, 2018
  27. 9/9 convert: add round trip check based on 'core.checkRoundtripEncoding'lars.schneider@autodesk.com, Mar 7, 2018
  28. Junio C HamanoMar 7, 2018
  29. Lars SchneiderMar 7, 2018
  30. Junio C HamanoMar 7, 2018
  31. Lars SchneiderMar 7, 2018
  32. 8/9 convert: add tracing for 'working-tree-encoding' attributelars.schneider@autodesk.com, Mar 7, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.