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

[PATCH] rerere-train: modernise a bit

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 16, 2022, 07:05 UTC
Message-ID
<xmqqsfsjuw8m.fsf@gitster.g>

The script wants to create a list of merges using "rev-list" and filters commits that do not have more than one parent, but if we always pass "--merges" to "rev-list", there is no need to filter.

The command uses "git show --pretty=format:..." on a single commit while generating progress reports, which means this title line is left unterminated. It should have used --pretty=tformat:... instead, or better yet, use the more modern --format=... to ensure that the title line is properly terminated.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 contrib/rerere-train.sh | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)
diff --git c/contrib/rerere-train.sh w/contrib/rerere-train.sh
index 75125d6ae0..499b07e4a6 100755
--- c/contrib/rerere-train.sh
+++ w/contrib/rerere-train.sh
@@ -66,14 +66,9 @@ original_HEAD=$(git rev-parse --verify HEAD) || {
 
 mkdir -p "$GIT_DIR/rr-cache" || exit
 
-git rev-list --parents "$@" |
+git rev-list --parents --merges "$@" |
 while read commit parent1 other_parents
 do
-	if test -z "$other_parents"
-	then
-		# Skip non-merges
-		continue
-	fi
 	git checkout -q "$parent1^0"
 	if git merge $other_parents >/dev/null 2>&1
 	then
@@ -86,7 +81,7 @@ do
 	fi
 	if test -s "$GIT_DIR/MERGE_RR"
 	then
-		git show -s --pretty=format:"Learning from %h %s" "$commit"
+		git show -s --format="Learning from %h %s" "$commit"
 		git rerere
 		git checkout -q $commit -- .
 		git rerere
Next: Derrick Stolee
Message 1 of 8 in “rerere-train: modernise a bit”
  1. rerere-train: modernise a bitJunio C Hamano, Feb 16, 2022
  2. Derrick StoleeFeb 20, 2022
  3. Johannes AltmanningerFeb 27, 2022
  4. Re* [PATCH] rerere-train: modernise a bitJunio C Hamano, Feb 27, 2022
  5. Johannes AltmanningerFeb 27, 2022
  6. Junio C HamanoFeb 27, 2022
  7. rerere-train: two fixes to the use of "git show -s"Junio C Hamano, Feb 27, 2022
  8. Johannes AltmanningerFeb 28, 2022

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.