From: Martin von Zweigbergk Date: Sun, 6 Feb 2011 18:43:32 +0000 (-0500) Subject: rebase: read state outside loop X-Git-Tag: v1.7.6-rc0~136^2~31 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=10ffca7db2946b4392a38a8f114a0cb3fd6e069c;p=git.git rebase: read state outside loop The 'onto_name' state used in 'git rebase --merge' is currently read once for each commit that need to be applied. It doesn't change between each iteration, however, so it should be moved out of the loop. This also makes the code more readable. Also remove the unused variable 'end'. Signed-off-by: Martin von Zweigbergk Signed-off-by: Junio C Hamano --- diff --git a/git-rebase.sh b/git-rebase.sh index 63b56837a..70948bcd2 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -62,6 +62,7 @@ read_state () { then state_dir="$merge_dir" prev_head=$(cat "$merge_dir"/prev_head) && + onto_name=$(cat "$merge_dir"/onto_name) && end=$(cat "$merge_dir"/end) && msgnum=$(cat "$merge_dir"/msgnum) else @@ -123,9 +124,8 @@ call_merge () { hd=$(git rev-parse --verify HEAD) cmt_name=$(git symbolic-ref HEAD 2> /dev/null || echo HEAD) msgnum=$(cat "$merge_dir/msgnum") - end=$(cat "$merge_dir/end") eval GITHEAD_$cmt='"${cmt_name##refs/heads/}~$(($end - $msgnum))"' - eval GITHEAD_$hd='$(cat "$merge_dir/onto_name")' + eval GITHEAD_$hd='$onto_name' export GITHEAD_$cmt GITHEAD_$hd if test -n "$GIT_QUIET" then