summaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorLibravatar Jonathan Nieder <jrnieder@gmail.com>2013-09-26 12:41:14 -0700
committerLibravatar Jonathan Nieder <jrnieder@gmail.com>2013-09-26 12:41:14 -0700
commit437ce600fb2cd89817ecf9b57274a529904d1df0 (patch)
tree5e17b0505fa6aaefc5f295a82fa7ab3139f56c6c /git-rebase.sh
parentMerge branch 'km/svn-1.8-serf-only' into maint (diff)
parentrebase: fix run_specific_rebase's use of "return" on FreeBSD (diff)
downloadtgif-437ce600fb2cd89817ecf9b57274a529904d1df0.tar.xz
Merge branch 'mm/rebase-continue-freebsd-WB' into maint
* mm/rebase-continue-freebsd-WB: rebase: fix run_specific_rebase's use of "return" on FreeBSD
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-xgit-rebase.sh11
1 files changed, 10 insertions, 1 deletions
diff --git a/git-rebase.sh b/git-rebase.sh
index 8d7659a22c..226752fbff 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -167,13 +167,22 @@ You can run "git stash pop" or "git stash drop" at any time.
rm -rf "$state_dir"
}
-run_specific_rebase () {
+run_specific_rebase_internal () {
if [ "$interactive_rebase" = implied ]; then
GIT_EDITOR=:
export GIT_EDITOR
autosquash=
fi
+ # On FreeBSD, the shell's "return" returns from the current
+ # function, not from the current file inclusion.
+ # run_specific_rebase_internal has the file inclusion as a
+ # last statement, so POSIX and FreeBSD's return will do the
+ # same thing.
. git-rebase--$type
+}
+
+run_specific_rebase () {
+ run_specific_rebase_internal
ret=$?
if test $ret -eq 0
then