rebase -i: return control to caller, for housekeeping

Return control to the caller git-rebase.sh to get these two tasks

    rm -fr "$dotest"
    git gc --auto

done by it.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ramkumar Ramachandra 2013-05-12 17:26:39 +05:30 committed by Junio C Hamano
parent a1549e1049
commit 15d4bf2e1e

View File

@ -628,17 +628,16 @@ do_next () {
"$GIT_DIR"/hooks/post-rewrite rebase < "$rewritten_list" "$GIT_DIR"/hooks/post-rewrite rebase < "$rewritten_list"
true # we don't care if this hook failed true # we don't care if this hook failed
fi && fi &&
rm -rf "$state_dir" &&
git gc --auto &&
warn "Successfully rebased and updated $head_name." warn "Successfully rebased and updated $head_name."
exit return 1 # not failure; just to break the do_rest loop
} }
# can only return 0, when the infinite loop breaks
do_rest () { do_rest () {
while : while :
do do
do_next do_next || break
done done
} }
@ -805,11 +804,13 @@ first and then run 'git rebase --continue' again."
require_clean_work_tree "rebase" require_clean_work_tree "rebase"
do_rest do_rest
return 0
;; ;;
skip) skip)
git rerere clear git rerere clear
do_rest do_rest
return 0
;; ;;
edit-todo) edit-todo)
git stripspace --strip-comments <"$todo" >"$todo".new git stripspace --strip-comments <"$todo" >"$todo".new