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

Re: [PATCH v3 5/5] fast-export: do automatic reencoding of commit messages only if requested

From
Elijah Newren <newren@gmail.com>
Date
May 11, 2019, 21:42 UTC
Message-ID
<CABPp-BEzaSW_eY1yTpLr8tXHei0WV54PFGXmjCLAJNN03Zi3eQ@mail.gmail.com>
In-Reply-To
<20190511210704.w2mxw3jv2ra2dr7w@tb-raspi4>
On Sat, May 11, 2019 at 2:07 PM Torsten Bögershausen <tboegi@web.de> wrote:
> On Fri, May 10, 2019 at 01:53:35PM -0700, Elijah Newren wrote:
Show 9 quoted lines
> This one is good:
> > +     if (unset || !strcmp(arg, "abort"))
> > +             reencode_mode = REENCODE_ABORT;
>
> But here: does it make sense to use REENCODE_YES/NO to be more consistant ?
> > +     else if (!strcmp(arg, "yes"))
> > +             reencode_mode = REENCODE_PLEASE;
> > +     else if (!strcmp(arg, "no"))
> > +             reencode_mode = REENCODE_NEVER;

Didn't realize there was any such convention, and even have difficulty finding it with grep (CONTAINS_{YES,NO} appears to be the only example I can find), but the alternate wording seems fine; I'm happy to adopt it.

> > +             case REENCODE_ABORT:
> > +                     die("Encountered commit-specific encoding %s in commit "
> > +                         "%s; use --reencode=<mode> to handle it",
> Should we be more helpfull and say !use --reencode=[yes|no] to handle it ?
Sounds like a good idea; I'll adjust it.
Show 15 quoted lines
> > +     sed "s/wer/i18n-no-recoding/" iso-8859-7.fi |
> > +             (cd new &&
> > +              git fast-import &&
> > +              # The commit object, if not re-encoded, is 240 bytes.
> > +              # Removing the "encoding iso-8859-7\n" header would drops 20
> > +              # bytes.  Re-encoding the Pi character from \xF0 in
> > +              # iso-8859-7 to \xCF\x80 in utf-8 would add a byte.  I would
> > +              # grep for the specific bytes, but Windows lamely does not
> This is somewhat unclear to me. What does Windows not allow ?
> > +              # allow that, so just search for the expected size.
> > +              test 240 -eq "$(git cat-file -s i18n-no-recoding)" &&
> > +              # Also make sure the commit has the "encoding" header
> > +              git cat-file commit i18n-no-recoding >actual &&
> > +              grep ^encoding actual)
> > +'

Windows does not allow specifying the bytes I want to grep for on the command line; it'll munge the command line, resulting in it searching for something other than what I wanted to be searched for, and return the wrong answer based on searching for the wrong thing. See https://public-inbox.org/git/f8eb246f-a936-e9df-4bb4-068b86a62baf@kdbg.org/ and https://public-inbox.org/git/nycvar.QRO.7.76.6.1905101551110.44@tvgsbejvaqbjf.bet/.

My comment was already pretty long because it looks like a crazy way to run the test and thus it feels like I need to explain it. And the craziness is based on how Windows behaves; it seems insane to me that Windows decides to munge user data (in the form of the command line provided), so much so that it makes me wonder if I really understood Hannes' and Dscho's explanations of what it is doing. (How could anyone have thought munging user data was a good idea?) Anyway, long story short, I'm not sure how to explain it correctly and succinctly. Any suggestions?

Elijah
Previous: Torsten BögershausenNext: Junio C Hamano
Message 13 of 45 in “Fix and extend encoding handling in fast export/import”
  1. 0/5 Fix and extend encoding handling in fast export/importElijah Newren, Apr 30, 2019
  2. 1/5 t9350: fix encoding test to actually test reencodingElijah Newren, Apr 30, 2019
  3. 2/5 fast-import: support 'encoding' commit headerElijah Newren, Apr 30, 2019
  4. 4/5 fast-export: differentiate between explicitly utf-8 and implicitly utf-8Elijah Newren, Apr 30, 2019
  5. 3/5 fast-export: avoid stripping encoding header if we cannot reencodeElijah Newren, Apr 30, 2019
  6. 5/5 fast-export: do automatic reencoding of commit messages only if requestedElijah Newren, Apr 30, 2019
  7. 0/5 Fix and extend encoding handling in fast export/importElijah Newren, May 10, 2019
  8. 1/5 t9350: fix encoding test to actually test reencodingElijah Newren, May 10, 2019
  9. 2/5 fast-import: support 'encoding' commit headerElijah Newren, May 10, 2019
  10. 3/5 fast-export: avoid stripping encoding header if we cannot reencodeElijah Newren, May 10, 2019
  11. 5/5 fast-export: do automatic reencoding of commit messages only if requestedElijah Newren, May 10, 2019
  12. Torsten BögershausenMay 11, 2019
  13. Elijah NewrenMay 11, 2019
  14. Junio C HamanoMay 13, 2019
  15. Elijah NewrenMay 13, 2019
  16. Johannes SchindelinMay 13, 2019
  17. Torsten BögershausenMay 13, 2019
  18. Elijah NewrenMay 13, 2019
  19. Elijah NewrenMay 13, 2019
  20. 4/5 fast-export: differentiate between explicitly utf-8 and implicitly utf-8Elijah Newren, May 10, 2019
  21. Johannes SchindelinMay 13, 2019
  22. 0/5 Fix and extend encoding handling in fast export/importElijah Newren, May 13, 2019
  23. 1/5 t9350: fix encoding test to actually test reencodingElijah Newren, May 13, 2019
  24. 3/5 fast-export: avoid stripping encoding header if we cannot reencodeElijah Newren, May 13, 2019
  25. 4/5 fast-export: differentiate between explicitly utf-8 and implicitly utf-8Elijah Newren, May 13, 2019
  26. 5/5 fast-export: do automatic reencoding of commit messages only if requestedElijah Newren, May 13, 2019
  27. Junio C HamanoMay 13, 2019
  28. 2/5 fast-import: support 'encoding' commit headerElijah Newren, May 13, 2019
  29. 0/5 Fix and extend encoding handling in fast export/importElijah Newren, May 13, 2019
  30. 1/5 t9350: fix encoding test to actually test reencodingElijah Newren, May 13, 2019
  31. Torsten BögershausenMay 14, 2019
  32. 2/5 fast-import: support 'encoding' commit headerElijah Newren, May 13, 2019
  33. 3/5 fast-export: avoid stripping encoding header if we cannot reencodeElijah Newren, May 13, 2019
  34. Torsten BögershausenMay 14, 2019
  35. 4/5 fast-export: differentiate between explicitly utf-8 and implicitly utf-8Elijah Newren, May 13, 2019
  36. Torsten BögershausenMay 14, 2019
  37. 5/5 fast-export: do automatic reencoding of commit messages only if requestedElijah Newren, May 13, 2019
  38. Eric SunshineMay 14, 2019
  39. 0/5 Fix and extend encoding handling in fast export/importElijah Newren, May 14, 2019
  40. 1/5 t9350: fix encoding test to actually test reencodingElijah Newren, May 14, 2019
  41. 5/5 fast-export: do automatic reencoding of commit messages only if requestedElijah Newren, May 14, 2019
  42. 2/5 fast-import: support 'encoding' commit headerElijah Newren, May 14, 2019
  43. 4/5 fast-export: differentiate between explicitly UTF-8 and implicitly UTF-8Elijah Newren, May 14, 2019
  44. 3/5 fast-export: avoid stripping encoding header if we cannot reencodeElijah Newren, May 14, 2019
  45. Torsten BögershausenMay 16, 2019

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.