# [PATCH] Improve git-rev-list --header output

2 messages from 2005-06-05 to 2005-06-05. Participants: Petr Baudis, Linus Torvalds.
Thread: https://gitlist.dev/t/838

## Petr Baudis, 2005-06-05 13:25

Subject: [PATCH] Improve git-rev-list --header output
Message-ID: <20050605132515.GB17462@pasky.ji.cz>
URL: https://gitlist.dev/e/20050605132515.GB17462%40pasky.ji.cz

```
Indent the commit header by four spaces like in the --pretty output;
the commit ID is still shown unaligned. This makes the --header output
actually usable for further processing.

Signed-off-by: Petr Baudis <pasky@ucw.cz>

---
commit 7c99469f9820f41138e1bfe1a0f416fa6b56d09d
tree ea9091df859f279e920ec0f8ca9fdc8d9d307e33
parent 441258d08a4bc12121c998e0aa112c8453eb15fc
author Petr Baudis <pasky@ucw.cz> Sun, 05 Jun 2005 15:24:25 +0200
committer Petr Baudis <xpasky@machine.sinus.cz> Sun, 05 Jun 2005 15:24:25 +0200

 rev-list.c |   26 ++++++++++++++++++++++++--
 1 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/rev-list.c b/rev-list.c
--- a/rev-list.c
+++ b/rev-list.c
@@ -35,12 +35,34 @@ static void show_commit(struct commit *c
 	putchar('\n');
 	if (verbose_header) {
 		const char *buf = commit->buffer;
+		static char pretty_header[16384];
 		if (pretty_print) {
-			static char pretty_header[16384];
 			pretty_print_commit(commit->buffer, ~0, pretty_header, sizeof(pretty_header));
 			buf = pretty_header;
+		} else {
+			/* Indent the commit contents by four chars */
+			char *buf2 = pretty_header;
+			char *eol;
+			do {
+				int len = -1;
+
+				eol = strchr(buf, '\n');
+				if (eol || *buf) {
+					strcpy(buf2, "    ");
+					buf2 += 4;
+				}
+				if (eol) {
+					eol++;
+					len = eol - buf;
+					strncpy(buf2, buf, len);
+					buf2 += len;
+					buf = eol;
+				} else {
+					strcpy(buf2, buf);
+				}
+			} while (eol);
 		}
-		printf("%s%c", buf, hdr_termination);
+		printf("%s%c", pretty_header, hdr_termination);
 	}
 }
 

|
-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor

```

## Linus Torvalds, 2005-06-05 15:17

Subject: Re: [PATCH] Improve git-rev-list --header output
Message-ID: <Pine.LNX.4.58.0506050815130.1876@ppc970.osdl.org>
URL: https://gitlist.dev/e/Pine.LNX.4.58.0506050815130.1876%40ppc970.osdl.org
In-Reply-To: <20050605132515.GB17462@pasky.ji.cz>

```


On Sun, 5 Jun 2005, Petr Baudis wrote:
>
> Indent the commit header by four spaces like in the --pretty output;
> the commit ID is still shown unaligned. This makes the --header output
> actually usable for further processing.

I'm actually going to do a few different "header formats", and have 
pretty_print_commit() able to switch between them. IOW, this would count 
as just one form of pretty-printing.

I want to have the "dense" format, which has only the author and the top
line(s) of the description (stop at the first empty line), and a "raw"  
format, which has all the parent information etc (ie this one).

		Linus

```
