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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 7, 2018, 19:35 UTC
Message-ID
<xmqqvae7znkj.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<20180307173026.30058-7-lars.schneider@autodesk.com>
lars.schneider@autodesk.com writes:
Show 7 quoted lines
> +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;

This means that having "* working-tree-encoding" (without "=value") in your .gitattributes file is silently ignored.

Thinking aloud. I wonder if that is something we would want to warn about so that the project can fix it, perhaps? Or would that become too noisy to use an older version of Git that includes this series when a newer version that defines new meanings to boolean (set/unset) values for w-t-e attribute becomes available and projects adopt it? On the other hand, with this code as-is or with an additional warning, such an "older version" of Git by definition behaves differently from such a "newer version" that does something different when the attribute is not a non-empty string, so it is quite likely that we won't be able to redefine or extend the meaning of w-t-e in a way like that.

Which means that the only sensible way to make sure we _could_ later extend the meaning of w-t-e and make it behave differently when set to a non-empty string is to make it an error in _this_ "older" version. That way, of course people cannot use the "older" version on a newer project that depends on the way how "newer" Git treats w-t-e that is set to, say, "true", but we won't silently (or loudly) do wrong things to the project's data.

Previous: Junio C HamanoNext: lars.schneider@autodesk.com
Message 16 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.