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

[PATCH 0/3] Fix support for FreeBSD's /bin/sh

From
Kyle J. McKay <mackyle@gmail.com>
Date
Apr 11, 2014, 08:28 UTC
Message-ID
<438458da797bcab97449bfa931a9d1d@74d39fa044aa309eaea14b9f57fe79c>

This patch series words around the FreeBSD /bin/sh problems that cause rebase to fail on FreeBSD as well as test t5560-http-backend-noserver.

The rebase issue was first introduced in Git v1.8.4 which started using the "return" statement to return from a "dot" command script where the "dot" command itself was located inside a function. This behaves badly when using FreeBSD's /bin/sh. An attempt was made to fix this in Git v1.8.4.1, but it only addressed part of the problem.

Patch 1/3 fixes the problem by eliminating such use of "return", patch 2/3 then reverts the earlier workaround since it is no longer needed and did not fully solve the problem.

The t5560 issue was first introduced in Git v1.7.0 which started using a backslash escapes in ${...} expansions. The FreeBSD /bin/sh does not properly support such escapes, but there is a simple change that works everywhere (using [?] instead of \?).

There are more details in the individual patches.

This patch series is based on maint since these are bug fixes and that's what SubmittingPatches says to do...

Kyle J. McKay (3):
  rebase: avoid non-function use of "return" on FreeBSD
  Revert "rebase: fix run_specific_rebase's use of "return" on FreeBSD"
  test: fix t5560 on FreeBSD
 git-rebase--am.sh                | 131 +++++++--------
 git-rebase--interactive.sh       | 341 ++++++++++++++++++++-------------------
 git-rebase--merge.sh             |  87 +++++-----
 git-rebase.sh                    |  11 +-
 t/t5560-http-backend-noserver.sh |   4 +-
 5 files changed, 287 insertions(+), 287 deletions(-)
The above stat may seem like a lot, but when using diff -w --stat you get this:
 git-rebase--am.sh                |  3 +++
 git-rebase--interactive.sh       |  3 +++
 git-rebase--merge.sh             |  3 +++
 git-rebase.sh                    | 11 +----------
 t/t5560-http-backend-noserver.sh |  4 ++--
 5 files changed, 12 insertions(+), 12 deletions(-)
which more accurately reflects what was actually touched.
Next: Kyle J. McKay
Message 1 of 21 in “Fix support for FreeBSD's /bin/sh”
  1. 0/3 Fix support for FreeBSD's /bin/shKyle J. McKay, Apr 11, 2014
  2. 1/3 rebase: avoid non-function use of "return" on FreeBSDKyle J. McKay, Apr 11, 2014
  3. Matthieu MoyApr 11, 2014
  4. Kyle J. McKayApr 11, 2014
  5. Matthieu MoyApr 11, 2014
  6. Kyle J. McKayApr 11, 2014
  7. Matthieu MoyApr 12, 2014
  8. Kyle J. McKayApr 13, 2014
  9. Matthieu MoyApr 14, 2014
  10. Junio C HamanoApr 14, 2014
  11. Junio C HamanoApr 14, 2014
  12. Kyle J. McKayApr 16, 2014
  13. Junio C HamanoApr 16, 2014
  14. Junio C HamanoApr 16, 2014
  15. Junio C HamanoApr 16, 2014
  16. Kyle J. McKayApr 17, 2014
  17. Junio C HamanoApr 17, 2014
  18. Kyle J. McKayApr 18, 2014
  19. 2/3 Revert "rebase: fix run_specific_rebase's use of "return" on FreeBSD"Kyle J. McKay, Apr 11, 2014
  20. 3/3 test: fix t5560 on FreeBSDKyle J. McKay, Apr 11, 2014
  21. Junio C HamanoApr 11, 2014

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.