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

[PATCH] rebase -m: Fix incorrect short-logs of already applied commits.

From
Johannes Sixt <johannes.sixt@telecom.at>
Date
Sep 1, 2007, 07:25 UTC
Message-ID
<200709010925.27926.johannes.sixt@telecom.at>

When a topic branch is rebased, some of whose commits are already cherry-picked upstream:

    o--X--A--B--Y    <- master
     \
      A--B--Z        <- topic
then 'git rebase -m master' would report:
    Already applied: 0001 Y
    Already applied: 0002 Y
With this fix it reports the expected:
    Already applied: 0001 A
    Already applied: 0002 B

As an added bonus, this change also avoids 'echo' of a commit message, which might contain escapements.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
---
 git-rebase.sh |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh
index cbafa14..9cf0056 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -59,20 +59,23 @@ continue_merge () {
 		die "$RESOLVEMSG"
 	fi
 
+	cmt=`cat $dotest/current`
 	if ! git diff-index --quiet HEAD
 	then
-		if ! git-commit -C "`cat $dotest/current`"
+		if ! git-commit -C "$cmt"
 		then
 			echo "Commit failed, please do not call \"git commit\""
 			echo "directly, but instead do one of the following: "
 			die "$RESOLVEMSG"
 		fi
-		printf "Committed: %0${prec}d" $msgnum
+		printf "Committed: %0${prec}d " $msgnum
+		git rev-list --pretty=oneline -1 HEAD | \
+			sed 's/^[a-f0-9]\+ //'
 	else
-		printf "Already applied: %0${prec}d" $msgnum
+		printf "Already applied: %0${prec}d " $msgnum
+		git rev-list --pretty=oneline -1 "$cmt" | \
+			sed 's/^[a-f0-9]\+ //'
 	fi
-	echo ' '`git rev-list --pretty=oneline -1 HEAD | \
-				sed 's/^[a-f0-9]\+ //'`
 
 	prev_head=`git rev-parse HEAD^0`
 	# save the resulting commit so we can read-tree on it later
-- 
1.5.3.rc6.55.ga005
Next: Junio C Hamano
Message 1 of 15 in “rebase -m: Fix incorrect short-logs of already applied commits.”
  1. rebase -m: Fix incorrect short-logs of already applied commits.Johannes Sixt, Sep 1, 2007
  2. Junio C HamanoSep 1, 2007
  3. rebase--interactive: do not use one-or-more (\+) in sed.Junio C Hamano, Sep 1, 2007
  4. Johannes SchindelinSep 1, 2007
  5. David KastrupSep 2, 2007
  6. Junio C HamanoSep 2, 2007
  7. David KastrupSep 2, 2007
  8. Simon 'corecode' SchubertSep 2, 2007
  9. Johannes SchindelinSep 2, 2007
  10. NixSep 2, 2007
  11. Benoit SIGOURESep 5, 2007
  12. NixSep 5, 2007
  13. David KastrupSep 1, 2007
  14. Johannes SixtSep 1, 2007
  15. Robin RosenbergSep 1, 2007

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.