All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Kyle J. McKay" <mackyle@gmail.com>
Cc: git@vger.kernel.org, Matthieu Moy <Matthieu.Moy@imag.fr>,
	Ramkumar Ramachandra <artagnon@gmail.com>,
	Eric Sunshine <sunshine@sunshineco.com>
Subject: Re: [PATCH 1/3] rebase: avoid non-function use of "return" on FreeBSD
Date: Wed, 16 Apr 2014 11:11:18 -0700	[thread overview]
Message-ID: <xmqqtx9tgn5l.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <xmqqsipdi5lw.fsf@gitster.dls.corp.google.com> (Junio C. Hamano's message of "Wed, 16 Apr 2014 09:47:23 -0700")

Junio C Hamano <gitster@pobox.com> writes:

> "Kyle J. McKay" <mackyle@gmail.com> writes:
>
>> If I'm the only one getting a wrong meaning from the comments, then no
>> reason to change them.
>
> I agree that the description does not read well with the work-around
> already there.  I am not sure what would be a better way to phrase
> it, though.

Here is a tentative rewrite at the beginning and the end of rebase-am:

    # The whole contents of the file is run by dot-sourcing this
    # file from inside a shell function.  It used to be that
    # "return"s we see below were not inside any function, and
    # expected to return from the function that dot-sourced us.
    #
    # However, FreeBSD /bin/sh misbehaves on such a construct and
    # continues to run the statements that follow such a "return".
    # As a work-around, we introduce an extra layer of a function
    # here, and immediately call it after defining it.
    git_rebase__am () {

    ...

    }
    # ... and then we call the whole thing.
    git_rebase__am


By the way, you have this in your log message:

    ... the git-rebase--*.sh scripts have used a "return" to return
    from the "dot" command that runs them.  While this is allowed by
    POSIX,...


Is it "this is allowed", or is it "this should be the way and shells
that do not do so are buggy"?

  reply	other threads:[~2014-04-16 18:11 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-11  8:28 [PATCH 0/3] Fix support for FreeBSD's /bin/sh Kyle J. McKay
2014-04-11  8:28 ` [PATCH 1/3] rebase: avoid non-function use of "return" on FreeBSD Kyle J. McKay
2014-04-11  8:48   ` Matthieu Moy
2014-04-11 14:29     ` Kyle J. McKay
2014-04-11 17:30       ` Matthieu Moy
2014-04-11 23:08         ` Kyle J. McKay
2014-04-12 17:07           ` Matthieu Moy
2014-04-13  2:45             ` Kyle J. McKay
2014-04-14  8:24               ` Matthieu Moy
2014-04-14 22:28                 ` Junio C Hamano
2014-04-14 22:51   ` Junio C Hamano
2014-04-16  4:32     ` Kyle J. McKay
2014-04-16 16:47       ` Junio C Hamano
2014-04-16 18:11         ` Junio C Hamano [this message]
2014-04-16 18:23           ` Junio C Hamano
2014-04-17  0:41           ` Kyle J. McKay
2014-04-17 17:15             ` Junio C Hamano
2014-04-18  0:26               ` Kyle J. McKay
2014-04-11  8:28 ` [PATCH 2/3] Revert "rebase: fix run_specific_rebase's use of "return" on FreeBSD" Kyle J. McKay
2014-04-11  8:28 ` [PATCH 3/3] test: fix t5560 on FreeBSD Kyle J. McKay
2014-04-11 20:52   ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqtx9tgn5l.fsf@gitster.dls.corp.google.com \
    --to=gitster@pobox.com \
    --cc=Matthieu.Moy@imag.fr \
    --cc=artagnon@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=mackyle@gmail.com \
    --cc=sunshine@sunshineco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.