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

Re: [PATCH 1/3] rebase: avoid non-function use of "return" on FreeBSD

From
Kyle J. McKay <mackyle@gmail.com>
Date
Apr 16, 2014, 04:32 UTC
Message-ID
<FAD02895-24B2-46C3-ABEF-E9CE17926FF9@gmail.com>
In-Reply-To
<xmqqob03le3v.fsf@gitster.dls.corp.google.com>
On Apr 14, 2014, at 15:51, Junio C Hamano wrote:
Show 9 quoted lines
> I think we would want to see the actual change formatted this way
> (without needing to pass "-w" to "git show"), as it will make it
> clear that this artificial extra level of "define the whole thing
> inside a function and then make a single call to it" is a workaround
> of specific shell's glitch that we would not have to have in an
> ideal world ;-)
>
> Besides that would make it less likely to cause conflicts with the
> real changes in flight.
Sounds good to me.
> Please double check what I queued on 'pu' when I push out today's
> integration result.
Show 16 quoted lines
> diff --git a/git-rebase--am.sh b/git-rebase--am.sh
> index a4f683a5..2ab514ea 100644
> --- a/git-rebase--am.sh
> +++ b/git-rebase--am.sh
> @@ -4,6 +4,13 @@
>  # Copyright (c) 2010 Junio C Hamano.
>  #
>
> +# The whole contents of the file is run by dot-sourcing this file  
> from
> +# inside a shell function, and "return"s we see below are expected to
> +# return from that function that dot-sources us.  However, FreeBSD
> +# /bin/sh misbehaves on such a construct, so we will work it around  
> by
> +# enclosing the whole thing inside an extra layer of a function.
> +git_rebase__am () {
I think the wording may be just a bit off:
> and "return"s we see below are expected to return from that function
> that dot-sources us.
I thought that was one of the buggy behaviors we are working around?
Maybe I'm just reading it wrong...
Does this wording seem any clearer?
	and "return"s we see below are expected not to return
	from the function that dot-sources us, but rather to
	the next command after the one in the function that
	dot-sources us.

Otherwise the patch in pu looks fine (all t34*.sh tests pass for me on FreeBSD with pu at 8d8dc6db).

Thank you for adding the comments.

If I'm the only one getting a wrong meaning from the comments, then no reason to change them.

--Kyle
Previous: Junio C HamanoNext: Junio C Hamano
Message 12 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.