diff options
author | Ramkumar Ramachandra <artagnon@gmail.com> | 2013-05-12 17:26:38 +0530 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-05-12 23:20:07 -0700 |
commit | a1549e1049439386b9fd643fae236ad3ba649650 (patch) | |
tree | da7ab2c30b88d748cd66c7226f89f712e1dd06c2 | |
parent | rebase: prepare to do generic housekeeping (diff) | |
download | tgif-a1549e1049439386b9fd643fae236ad3ba649650.tar.xz |
am: return control to caller, for housekeeping
We only need to do these two tasks
git gc --auto
rm -fr "$dotest"
ourselves if the script was invoked as a standalone program; when
invoked with --rebasing (from git-rebase--am.sh), cascade control back
to the ultimate caller git-rebase.sh to do this for us.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-am.sh | 9 | ||||
-rw-r--r-- | git-rebase--am.sh | 8 |
2 files changed, 11 insertions, 6 deletions
@@ -906,5 +906,10 @@ if test -s "$dotest"/rewritten; then fi fi -rm -fr "$dotest" -git gc --auto +# If am was called with --rebasing (from git-rebase--am), it's up to +# the caller to take care of housekeeping. +if ! test -f "$dotest/rebasing" +then + rm -fr "$dotest" + git gc --auto +fi diff --git a/git-rebase--am.sh b/git-rebase--am.sh index f84854f09a..34e3102fcb 100644 --- a/git-rebase--am.sh +++ b/git-rebase--am.sh @@ -7,12 +7,12 @@ case "$action" in continue) git am --resolved --resolvemsg="$resolvemsg" && move_to_original_branch - exit + return ;; skip) git am --skip --resolvemsg="$resolvemsg" && move_to_original_branch - exit + return ;; esac @@ -56,7 +56,7 @@ else As a result, git cannot rebase them. EOF - exit $? + return $? fi git am $git_am_opt --rebasing --resolvemsg="$resolvemsg" <"$GIT_DIR/rebased-patches" @@ -68,7 +68,7 @@ fi if test 0 != $ret then test -d "$state_dir" && write_basic_state - exit $ret + return $ret fi move_to_original_branch |