Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
rebase -i: return control to caller, for housekeeping
author
Ramkumar Ramachandra
<artagnon@gmail.com>
Sun, 12 May 2013 11:56:39 +0000
(17:26 +0530)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 13 May 2013 06:20:07 +0000
(23:20 -0700)
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>
git-rebase--interactive.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
a1549e1
)
diff --git
a/git-rebase--interactive.sh
b/git-rebase--interactive.sh
index 34111395b5faa58e969af4491d649af370ac9979..f953d8d22499b9e41d3c0ed86183655e39d807af 100644
(file)
--- a/
git-rebase--interactive.sh
+++ b/
git-rebase--interactive.sh
@@
-628,17
+628,16
@@
do_next () {
"$GIT_DIR"/hooks/post-rewrite rebase < "$rewritten_list"
true # we don't care if this hook failed
fi &&
"$GIT_DIR"/hooks/post-rewrite rebase < "$rewritten_list"
true # we don't care if this hook failed
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 () {
while :
do
do_rest () {
while :
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"
do_rest
require_clean_work_tree "rebase"
do_rest
+ return 0
;;
skip)
git rerere clear
do_rest
;;
skip)
git rerere clear
do_rest
+ return 0
;;
edit-todo)
git stripspace --strip-comments <"$todo" >"$todo".new
;;
edit-todo)
git stripspace --strip-comments <"$todo" >"$todo".new