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

[PATCH 4/10] First parse all commit header entries then print them

From
Jonas Fonseca <fonseca@diku.dk>
Date
Jun 4, 2005, 14:40 UTC
Message-ID
<20050604144035.GH12615@diku.dk>
In-Reply-To
<20050604143831.GD12615@diku.dk>

Change the main loop to first parse all header entries before printing them. Makes the cg-log output more independent of the order of the git commit header.

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
 cg-log |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/cg-log b/cg-log
--- a/cg-log
+++ b/cg-log
@@ -183,27 +183,33 @@ $revls | $revsort | while read time comm
 			case "$key" in
 			"author")
 				author="$rest"
-				date=(${author#*> })
-				pdate="$(showdate $date)"
-				[ "$pdate" ] && author="${author%> *}> $pdate"
-				echo $colauthor$key $author $coldefault
 				;;
 			"committer")
 				committer="$rest"
-				date=(${committer#*> })
-				pdate="$(showdate $date)"
-				[ "$pdate" ] && committer="${committer%> *}> $pdate"
-				echo $colcommitter$key $committer $coldefault
 				;;
 			"tree")
 				tree="$rest"
-				echo $colheader$key $tree $coldefault
 				;;
 			"parent")
 				parents[${#parents[@]}]="$rest"
-				echo $colheader$key $rest $coldefault
 				;;
 			"")
+				echo ${colheader}tree $tree $coldefault
+
+				for parent in "${parents[@]}"; do
+					echo ${colheader}parent $parent $coldefault
+				done
+
+				date=(${author#*> })
+				pdate="$(showdate $date)"
+				[ "$pdate" ] && author="${author%> *}> $pdate"
+				echo ${colauthor}author $author $coldefault
+
+				date=(${committer#*> })
+				pdate="$(showdate $date)"
+				[ "$pdate" ] && committer="${committer%> *}> $pdate"
+				echo ${colcommitter}committer $committer $coldefault
+
 				if [ -n "$list_files" ]; then
 					list_commit_files "$tree" "${parents[0]}"
 				fi
-- 
Jonas Fonseca
Previous: Jonas FonsecaNext: Jonas Fonseca
Message 5 of 11 in “[PATCHSET] cg-log cleanups and enhancements”
  1. Jonas FonsecaJun 4, 2005
  2. 1/10 Cleanup conversion to human readable dateJonas Fonseca, Jun 4, 2005
  3. 2/10 Separate handling of tree and parent in commit headersJonas Fonseca, Jun 4, 2005
  4. 3/10 Separate handling of author and committer in commit headersJonas Fonseca, Jun 4, 2005
  5. 4/10 First parse all commit header entries then print themJonas Fonseca, Jun 4, 2005
  6. 5/10 Move printing of the commit info line inside the loopJonas Fonseca, Jun 4, 2005
  7. 6/10 Remove the catch all ruleJonas Fonseca, Jun 4, 2005
  8. 7/10 Move log printing to separate functionJonas Fonseca, Jun 4, 2005
  9. 8/10 Move the username matching inside the loopJonas Fonseca, Jun 4, 2005
  10. 9/10 Move file matching inside the loop.Jonas Fonseca, Jun 4, 2005
  11. 10/10 Add -s option to show log summaryJonas Fonseca, Jun 4, 2005

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.