From: martin.von.zweigbergk@gmail.com Date: Wed, 03 Nov 2010 21:09:38 GMT Subject: [PATCH 3/5] rebase: read state outside loop Message-ID: <1288818580-7576-4-git-send-email-martin.von.zweigbergk@gmail.com> In-Reply-To: <1288818580-7576-1-git-send-email-martin.von.zweigbergk@gmail.com> From: Martin von Zweigbergk The 'onto_name' state is 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 --- git-rebase.sh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/git-rebase.sh b/git-rebase.sh index e0842e3..2c812b2 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -61,6 +61,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 @@ -122,9 +123,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 -- 1.7.3.rc1.4.g5879b6