Hi Wink, On Thu, 22 Mar 2018, Wink Saville wrote:
> 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 <w...@saville.com> > Reviewed-by: Junio C Hamano <gits...@pobox.com> > Reviewed-by: Eric Sunsine <suns...@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