Re: [PATCH] Add `%B' in format strings for raw commit body in `git log' and friends
- From
Eli Barzilay <eli@barzilay.org>
- Date
- Apr 4, 2010, 21:37 UTC
- Message-ID
- <m3eiiunbky.fsf@winooski.ccs.neu.edu>
- In-Reply-To
- <19370.53192.313137.191218@winooski.ccs.neu.edu>
A while ago I sent the patch below. There were no replies. Is there anything else that I should do, or is there any problem in doing this?
Eli Barzilay <eli@barzilay.org> writes:
Show 60 quoted lines
> Also update the documentation text and add a test.
>
> Signed-off-by: Eli Barzilay <eli@barzilay.org>
> ---
>
> This is re a feature request I made a few days ago. The test is
> trivial, since there are only two commits with a single line.
>
> Documentation/pretty-formats.txt | 1 +
> pretty.c | 4 ++++
> t/t6006-rev-list-format.sh | 9 +++++++++
> 3 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt
> index 1686a54..bd760d3 100644
> --- a/Documentation/pretty-formats.txt
> +++ b/Documentation/pretty-formats.txt
> @@ -123,6 +123,7 @@ The placeholders are:
> - '%s': subject
> - '%f': sanitized subject line, suitable for a filename
> - '%b': body
> +- '%B': raw body (unwrapped subject and body)
> - '%N': commit notes
> - '%gD': reflog selector, e.g., `refs/stash@\{1\}`
> - '%gd': shortened reflog selector, e.g., `stash@\{1\}`
> diff --git a/pretty.c b/pretty.c
> index 6ba3da8..14c9568 100644
> --- a/pretty.c
> +++ b/pretty.c
> @@ -797,6 +797,10 @@ static size_t format_commit_one(struct strbuf *sb, const char *placeholder,
> case 'e': /* encoding */
> strbuf_add(sb, msg + c->encoding.off, c->encoding.len);
> return 1;
> + case 'B': /* raw body */
> + /* message_off is always left at the initial newline */
> + strbuf_addstr(sb, msg + c->message_off + 1);
> + return 1;
> }
>
> /* Now we need to parse the commit message. */
> diff --git a/t/t6006-rev-list-format.sh b/t/t6006-rev-list-format.sh
> index b0047d3..5d15f18 100755
> --- a/t/t6006-rev-list-format.sh
> +++ b/t/t6006-rev-list-format.sh
> @@ -101,6 +101,15 @@ commit 131a310eb913d107dd3c09a65d1651175898735d
> commit 86c75cfd708a0e5868dc876ed5b8bb66c80b4873
> EOF
>
> +test_format raw-body %B <<'EOF'
> +commit 131a310eb913d107dd3c09a65d1651175898735d
> +changed foo
> +
> +commit 86c75cfd708a0e5868dc876ed5b8bb66c80b4873
> +added foo
> +
> +EOF
> +
> test_format colors %Credfoo%Cgreenbar%Cbluebaz%Cresetxyzzy <<'EOF'
> commit 131a310eb913d107dd3c09a65d1651175898735d
> foobarbazxyzzy--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!