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

[PATCH v3 00/10] Platform compatibility fixes

From
Patrick Steinhardt <ps@pks.im>
Date
Oct 16, 2024, 08:12 UTC
Message-ID
<cover.1729060405.git.ps@pks.im>
In-Reply-To
<cover.1728906490.git.ps@pks.im>
Hi,

this is the third version of this series that fixes various different issues on more or less esoteric platforms.

There's only a single change compared to v2, namely that I restore the `!MINGW` prerequisite in t4201. I've been a bit overeager to convert it to use `ICONV` as that platform is seemingly still broken here.

I've kicked off another pipeline at GitHub [1] while the GitLab CI support for Windows hasn't yet landed to verify that things work as expected now. Tests pass now.

Thanks!
[1]: https://github.com/git/git/pull/1815
Patrick
Patrick Steinhardt (10):
  t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE
  t/test-lib: wire up NO_ICONV prerequisite
  t/lib-gitweb: test against the build version of gitweb
  t/lib-gpg: fix setup of GNUPGHOME in MinGW
  t1401: make invocation of tar(1) work with Win32-provided one
  t3404: work around platform-specific behaviour on macOS 10.15
  t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin
  t7300: work around platform-specific behaviour with long paths on
    MinGW
  builtin/credential-cache: fix missing parameter for stub function
  http: fix build error on FreeBSD
 Makefile                                     |   1 +
 builtin/credential-cache.c                   |   3 +-
 contrib/buildsystems/CMakeLists.txt          |   6 ++
 http.c                                       |  10 +-
 t/lib-gitweb.sh                              |   4 +-
 t/lib-gpg.sh                                 |   2 +-
 t/t0028-working-tree-encoding.sh             |   6 ++
 t/t1401-symbolic-ref.sh                      |   2 +-
 t/t2082-parallel-checkout-attributes.sh      |   2 +-
 t/t3404-rebase-interactive.sh                |  26 +++--
 t/t3434-rebase-i18n.sh                       |   6 ++
 t/t3900-i18n-commit.sh                       |   6 ++
 t/t3901-i18n-patch.sh                        |   6 ++
 t/t4041-diff-submodule-option.sh             |  16 ++-
 t/t4059-diff-submodule-not-initialized.sh    |  16 ++-
 t/t4060-diff-submodule-option-diff-format.sh |  17 ++--
 t/t4201-shortlog.sh                          |   8 +-
 t/t4205-log-pretty-formats.sh                | 102 +++++++++++--------
 t/t4210-log-i18n.sh                          |   6 ++
 t/t4254-am-corrupt.sh                        |   6 ++
 t/t5100-mailinfo.sh                          |  14 ++-
 t/t5500-fetch-pack.sh                        |  14 ++-
 t/t5550-http-fetch-dumb.sh                   |   4 +-
 t/t5601-clone.sh                             |  11 +-
 t/t6006-rev-list-format.sh                   |  54 ++++++----
 t/t7102-reset.sh                             |  40 +++++---
 t/t7300-clean.sh                             |   2 +-
 t/t8005-blame-i18n.sh                        |   6 ++
 t/t9300-fast-import.sh                       |   2 +-
 t/t9350-fast-export.sh                       |  10 +-
 t/test-lib.sh                                |   3 +-
 31 files changed, 274 insertions(+), 137 deletions(-)
Range-diff against v2:
 1:  a514f5d14a7 =  1:  a514f5d14a7 t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE
 2:  f6a8582c34a !  2:  c046e5f03bf t/test-lib: wire up NO_ICONV prerequisite
    @@ Commit message
         assess whether the failure is expected or not. Most of the tests do
         smell like the expected kind of failure though.
     
    -    Further note that there are several "!MINGW" conditions in t4201, and
    -    all of these fail due to iconv-related errors. This is quite likely a
    -    leftover from times before dce7d29551 (msvc: support building Git using
    -    MS Visual C++, 2019-06-25), which switched Windows-based builds over
    -    from "NO_ICONV=YesPlease" to "NEEDS_LIBICONV=YesPlease". Consequently,
    -    adapt those tests to also use the new ICONV prerequisite.
    -
         Signed-off-by: Patrick Steinhardt <ps@pks.im>
     
      ## Makefile ##
    @@ t/t4201-shortlog.sh: test_expect_success 'output from user-defined format is re-
      '
      
     -test_expect_success !MINGW 'shortlog wrapping' '
    -+test_expect_success ICONV 'shortlog wrapping' '
    ++test_expect_success !MINGW,ICONV 'shortlog wrapping' '
      	cat >expect <<\EOF &&
      A U Thor (5):
            Test
    @@ t/t4201-shortlog.sh: EOF
      '
      
     -test_expect_success !MINGW 'shortlog from non-git directory' '
    -+test_expect_success ICONV 'shortlog from non-git directory' '
    ++test_expect_success !MINGW,ICONV 'shortlog from non-git directory' '
      	git log --no-expand-tabs HEAD >log &&
      	GIT_DIR=non-existing git shortlog -w <log >out &&
      	test_cmp expect out
      '
      
     -test_expect_success !MINGW 'shortlog can read --format=raw output' '
    -+test_expect_success ICONV 'shortlog can read --format=raw output' '
    ++test_expect_success !MINGW,ICONV 'shortlog can read --format=raw output' '
      	git log --format=raw HEAD >log &&
      	GIT_DIR=non-existing git shortlog -w <log >out &&
      	test_cmp expect out
    @@ t/t4201-shortlog.sh: $DSCHO (2):
      EOF
      
     -test_expect_success !MINGW 'shortlog encoding' '
    -+test_expect_success ICONV 'shortlog encoding' '
    ++test_expect_success !MINGW,ICONV 'shortlog encoding' '
      	git reset --hard "$commit" &&
      	git config --unset i18n.commitencoding &&
      	echo 2 > a1 &&
 3:  2e2d208ef1b =  3:  52d0b252a1c t/lib-gitweb: test against the build version of gitweb
 4:  cc94f6fa648 =  4:  89957caf6ad t/lib-gpg: fix setup of GNUPGHOME in MinGW
 5:  58691dd652b =  5:  df2fb1b9607 t1401: make invocation of tar(1) work with Win32-provided one
 6:  1daadd82766 =  6:  29fffa5d86b t3404: work around platform-specific behaviour on macOS 10.15
 7:  374f47bf3de =  7:  de4c0c786bd t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin
 8:  13c06a8129b =  8:  ee67336621c t7300: work around platform-specific behaviour with long paths on MinGW
 9:  5fd78b6d535 =  9:  aaa6b5a175d builtin/credential-cache: fix missing parameter for stub function
10:  9963dc73988 = 10:  c22a94bab41 http: fix build error on FreeBSD
-- 
2.47.0.72.gef8ce8f3d4.dirty
Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 43 of 58 in “Platform compatibility fixes”
  1. 00/10 Platform compatibility fixesPatrick Steinhardt, Oct 14, 2024
  2. 01/10 t/test-lib: fix quoting of TEST_RESULTS_SAN_FILEPatrick Steinhardt, Oct 14, 2024
  3. Taylor BlauOct 14, 2024
  4. 02/10 t/test-lib: wire up NO_ICONV prerequisitePatrick Steinhardt, Oct 14, 2024
  5. 03/10 t/lib-gitweb: test against the build version of gitwebPatrick Steinhardt, Oct 14, 2024
  6. Taylor BlauOct 14, 2024
  7. Patrick SteinhardtOct 15, 2024
  8. 04/10 t/lib-gpg: fix setup of GNUPGHOME in MinGWPatrick Steinhardt, Oct 14, 2024
  9. Taylor BlauOct 14, 2024
  10. 05/10 t1401: make invocation of tar(1) work with Win32-provided onePatrick Steinhardt, Oct 14, 2024
  11. Eric SunshineOct 14, 2024
  12. Taylor BlauOct 15, 2024
  13. 06/10 t3404: work around platform-specific behaviour on macOS 10.15Patrick Steinhardt, Oct 14, 2024
  14. 07/10 t5500, t5601: skip tests which exercise paths with '[::1]' on CygwinPatrick Steinhardt, Oct 14, 2024
  15. Taylor BlauOct 14, 2024
  16. 08/10 t7300: work around platform-specific behaviour with long paths on MinGWPatrick Steinhardt, Oct 14, 2024
  17. 09/10 builtin/credential-cache: fix missing parameter for stub functionPatrick Steinhardt, Oct 14, 2024
  18. Taylor BlauOct 14, 2024
  19. 10/10 http: fix build error on FreeBSDPatrick Steinhardt, Oct 14, 2024
  20. Taylor BlauOct 14, 2024
  21. Patrick SteinhardtOct 15, 2024
  22. 00/10 Platform compatibility fixesPatrick Steinhardt, Oct 15, 2024
  23. 01/10 t/test-lib: fix quoting of TEST_RESULTS_SAN_FILEPatrick Steinhardt, Oct 15, 2024
  24. 02/10 t/test-lib: wire up NO_ICONV prerequisitePatrick Steinhardt, Oct 15, 2024
  25. Taylor BlauOct 15, 2024
  26. Patrick SteinhardtOct 16, 2024
  27. Taylor BlauOct 16, 2024
  28. Taylor BlauOct 16, 2024
  29. Patrick SteinhardtOct 17, 2024
  30. 03/10 t/lib-gitweb: test against the build version of gitwebPatrick Steinhardt, Oct 15, 2024
  31. 04/10 t/lib-gpg: fix setup of GNUPGHOME in MinGWPatrick Steinhardt, Oct 15, 2024
  32. James LiuOct 16, 2024
  33. 05/10 t1401: make invocation of tar(1) work with Win32-provided onePatrick Steinhardt, Oct 15, 2024
  34. James LiuOct 16, 2024
  35. 06/10 t3404: work around platform-specific behaviour on macOS 10.15Patrick Steinhardt, Oct 15, 2024
  36. James LiuOct 16, 2024
  37. 07/10 t5500, t5601: skip tests which exercise paths with '[::1]' on CygwinPatrick Steinhardt, Oct 15, 2024
  38. 08/10 t7300: work around platform-specific behaviour with long paths on MinGWPatrick Steinhardt, Oct 15, 2024
  39. James LiuOct 16, 2024
  40. James LiuOct 16, 2024
  41. 09/10 builtin/credential-cache: fix missing parameter for stub functionPatrick Steinhardt, Oct 15, 2024
  42. 10/10 http: fix build error on FreeBSDPatrick Steinhardt, Oct 15, 2024
  43. 00/10 Platform compatibility fixesPatrick Steinhardt, Oct 16, 2024
  44. 01/10 t/test-lib: fix quoting of TEST_RESULTS_SAN_FILEPatrick Steinhardt, Oct 16, 2024
  45. 02/10 t/test-lib: wire up NO_ICONV prerequisitePatrick Steinhardt, Oct 16, 2024
  46. brian m. carlsonOct 17, 2024
  47. Patrick SteinhardtOct 17, 2024
  48. Josh SteadmonOct 25, 2024
  49. t6006: fix prereq handling with `test_format ()`Patrick Steinhardt, Oct 28, 2024
  50. Taylor BlauOct 28, 2024
  51. 03/10 t/lib-gitweb: test against the build version of gitwebPatrick Steinhardt, Oct 16, 2024
  52. 04/10 t/lib-gpg: fix setup of GNUPGHOME in MinGWPatrick Steinhardt, Oct 16, 2024
  53. 05/10 t1401: make invocation of tar(1) work with Win32-provided onePatrick Steinhardt, Oct 16, 2024
  54. 06/10 t3404: work around platform-specific behaviour on macOS 10.15Patrick Steinhardt, Oct 16, 2024
  55. 07/10 t5500, t5601: skip tests which exercise paths with '[::1]' on CygwinPatrick Steinhardt, Oct 16, 2024
  56. 08/10 t7300: work around platform-specific behaviour with long paths on MinGWPatrick Steinhardt, Oct 16, 2024
  57. 09/10 builtin/credential-cache: fix missing parameter for stub functionPatrick Steinhardt, Oct 16, 2024
  58. 10/10 http: fix build error on FreeBSDPatrick Steinhardt, Oct 16, 2024

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.