From 247de6f6e4578bb2810d2d82513b309e9be6a5f1 Mon Sep 17 00:00:00 2001 From: Martin von Zweigbergk Date: Tue, 28 Dec 2010 10:30:20 +0100 Subject: [PATCH] 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 --- git-rebase.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git-rebase.sh b/git-rebase.sh index bf144dcd5..9be831e3a 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 -- 2.30.2