git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/5] rebase: read state outside loop

From
martin.von.zweigbergk@gmail.com <martin.von.zweigbergk@gmail.com>
Date
Nov 3, 2010, 21:09 UTC
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 <martin.von.zweigbergk@gmail.com>

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 <martin.von.zweigbergk@gmail.com>
---
 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
Previous: martin.von.zweigbergk@gmail.comNext: martin.von.zweigbergk@gmail.com
Message 4 of 6 in “Make git-rebase.sh more readable and easier to extend”
  1. 0/5 Make git-rebase.sh more readable and easier to extendmartin.von.zweigbergk@gmail.com, Nov 3, 2010
  2. 1/5 rebase: clearer names for directory variablesmartin.von.zweigbergk@gmail.com, Nov 3, 2010
  3. 2/5 rebase: refactor reading of statemartin.von.zweigbergk@gmail.com, Nov 3, 2010
  4. 3/5 rebase: read state outside loopmartin.von.zweigbergk@gmail.com, Nov 3, 2010
  5. 4/5 rebase: remove unused rebase state 'prev_head'martin.von.zweigbergk@gmail.com, Nov 3, 2010
  6. 5/5 rebase: read state explicitly in '--abort'martin.von.zweigbergk@gmail.com, Nov 3, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.