Re: [RFC PATCH v4] rebase: Update invocation of rebase dot-sourced scripts
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Mar 23, 2018, 17:12 UTC
- Message-ID
- <nycvar.QRO.7.76.6.1803231811530.77@ZVAVAG-6OXH6DA.rhebcr.pbec.zvpebfbsg.pbz>
- In-Reply-To
- <ed4cfdc9f31b920eae5055c3b080e2ca5b2f6e42.1521779249.git.wink@saville.com>
Hi Wink,
On Thu, 22 Mar 2018, Wink Saville wrote:
Show 28 quoted lines
> The backend scriptlets for "git rebase" were structured in a > bit unusual way for historical reasons. Originally, it was > designed in such a way that dot-sourcing them from "git > rebase" would be sufficient to invoke the specific backend. > > When it was discovered that some shell implementations > (e.g. FreeBSD 9.x) misbehaved when exiting with a "return" > is executed at the top level of a dot-sourced script (the > original was expecting that the control returns to the next > command in "git rebase" after dot-sourcing the scriptlet). > > To fix this issue the whole body of git-rebase--$backend.sh > was made into a shell function git_rebase__$backend and then > the last statement of the scriptlet would invoke the function. > > Here the call is moved to "git rebase" side, instead of at the > end of each scriptlet. This give us a more normal arrangement > where the scriptlet function library and allows multiple functions > to be implemented in a scriptlet. > > Signed-off-by: Wink Saville <wink@saville.com> > Reviewed-by: Junio C Hamano <gitster@pobox.com> > Reviewed-by: Eric Sunsine <sunsine@sunshineco.com> > --- > git-rebase--am.sh | 11 ----------- > git-rebase--interactive.sh | 11 ----------- > git-rebase--merge.sh | 11 ----------- > git-rebase.sh | 2 ++
The patch makes sense to me.
Thanks, Johannes