* Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body
@ 2016-07-24 13:46 Ilya Tumaykin
2016-07-25 6:55 ` Bug: Beat Bolli
2016-07-25 7:33 ` Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body Johannes Schindelin
0 siblings, 2 replies; 7+ messages in thread
From: Ilya Tumaykin @ 2016-07-24 13:46 UTC (permalink / raw)
To: git
Hello.
Steps to reproduce:
$ git init
$ >123
$ git add 123
$ git commit -v -m 'This is subject' -m 'And this is body'
$ git --no-pager log -1 --format='format:%+s%+b'
Actual results:
```
This is subject
And this is body
```
Expected results:
```
This is subject
And this is body
```
$ git --version
git version 2.9.2
Please fix.
--
Best regards.
Ilya Tumaykin.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug:
2016-07-24 13:46 Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body Ilya Tumaykin
@ 2016-07-25 6:55 ` Beat Bolli
2016-07-25 7:33 ` Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body Johannes Schindelin
1 sibling, 0 replies; 7+ messages in thread
From: Beat Bolli @ 2016-07-25 6:55 UTC (permalink / raw)
To: git
Ilya Tumaykin <itumaykin <at> gmail.com> writes:
> $ git --no-pager log -1 --format='format:%+s%+b'
> Please fix.
Simply use `git --no-pager log -1 --format='format:%+s%n%+b'`
The message body excludes the empty line preceding it.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body
2016-07-24 13:46 Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body Ilya Tumaykin
2016-07-25 6:55 ` Bug: Beat Bolli
@ 2016-07-25 7:33 ` Johannes Schindelin
2016-07-25 7:51 ` Ilya Tumaykin
2016-07-25 17:28 ` Jakub Narębski
1 sibling, 2 replies; 7+ messages in thread
From: Johannes Schindelin @ 2016-07-25 7:33 UTC (permalink / raw)
To: Ilya Tumaykin; +Cc: git
Hi Ilya,
On Sun, 24 Jul 2016, Ilya Tumaykin wrote:
> Steps to reproduce:
> $ git init
> $ >123
> $ git add 123
> $ git commit -v -m 'This is subject' -m 'And this is body'
> $ git --no-pager log -1 --format='format:%+s%+b'
>
> Actual results:
> ```
>
> This is subject
> And this is body
> ```
>
> Expected results:
> ```
>
> This is subject
>
> And this is body
> ```
The empty line between commit subject and body is neither part of the
subject nor of the body. That means that the above-mentioned expectation
was incorrect.
Unless you somehow allow empty commit messages (Git does not, unless you
play games with low-level commands), the second '+' is unnecessarily
conditional. Therefore "%s%n%+b" *might* do what you intended (I would not
know, because that information was missing from the report).
Ciao,
Johannes
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body
2016-07-25 7:33 ` Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body Johannes Schindelin
@ 2016-07-25 7:51 ` Ilya Tumaykin
2016-07-25 8:06 ` Johannes Schindelin
2016-07-25 17:28 ` Jakub Narębski
1 sibling, 1 reply; 7+ messages in thread
From: Ilya Tumaykin @ 2016-07-25 7:51 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
On Monday 25 July 2016 09:33:00 Johannes Schindelin wrote:
> Hi Ilya,
>
> On Sun, 24 Jul 2016, Ilya Tumaykin wrote:
> > Steps to reproduce:
> > $ git init
> > $ >123
> > $ git add 123
> > $ git commit -v -m 'This is subject' -m 'And this is body'
> > $ git --no-pager log -1 --format='format:%+s%+b'
> >
> > Actual results:
> > ```
> >
> > This is subject
> > And this is body
> > ```
> >
> > Expected results:
> > ```
> >
> > This is subject
> >
> > And this is body
> > ```
>
> The empty line between commit subject and body is neither part of the
> subject nor of the body. That means that the above-mentioned expectation
> was incorrect.
According to 'git-log' man page '%+b' should insert linefeed "immediately
before the expansion if and only if the placeholder expands to a non-empty
string." Here "%b" expands to a non-empty string, thus I expect a linefeed
before it. Or am I misinterpreting man page somehow?
> Unless you somehow allow empty commit messages (Git does not, unless you
> play games with low-level commands), the second '+' is unnecessarily
> conditional. Therefore "%s%n%+b" *might* do what you intended (I would not
> know, because that information was missing from the report).
I want to display '%B', but add colours to '%s'. Thus I have to separately
include '%s' and '%b', and not just '%B'. I was using '%+s%n%+b' with extra
colour formatting as a workaround for some time now.
> Ciao,
> Johannes
--
Best regards.
Ilya Tumaykin.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body
2016-07-25 7:51 ` Ilya Tumaykin
@ 2016-07-25 8:06 ` Johannes Schindelin
2016-07-25 10:49 ` Ilya Tumaykin
0 siblings, 1 reply; 7+ messages in thread
From: Johannes Schindelin @ 2016-07-25 8:06 UTC (permalink / raw)
To: Ilya Tumaykin; +Cc: git
Hi Ilya,
On Mon, 25 Jul 2016, Ilya Tumaykin wrote:
> On Monday 25 July 2016 09:33:00 Johannes Schindelin wrote:
> >
> > On Sun, 24 Jul 2016, Ilya Tumaykin wrote:
> > [...]
> > > $ git --no-pager log -1 --format='format:%+s%+b'
> > >
> > > Actual results:
> > > ```
> > >
> > > This is subject
> > > And this is body
> > > ```
>
> According to 'git-log' man page '%+b' should insert linefeed "immediately
> before the expansion if and only if the placeholder expands to a non-empty
> string." Here "%b" expands to a non-empty string, thus I expect a linefeed
> before it. Or am I misinterpreting man page somehow?
The line break is there: after the subject. The misinterpretation is most
likely the assumption that the new-line "character" is part of the commit
subject; It is not.
> > Unless you somehow allow empty commit messages (Git does not, unless
> > you play games with low-level commands), the second '+' is
> > unnecessarily conditional. Therefore "%s%n%+b" *might* do what you
> > intended (I would not know, because that information was missing from
> > the report).
>
> I want to display '%B', but add colours to '%s'. Thus I have to
> separately include '%s' and '%b', and not just '%B'. I was using
> '%+s%n%+b' with extra colour formatting as a workaround for some time
> now.
Okay. Hopefully the explanation above clarifies that this is not a
work-around, but the correct solution.
Ciao,
Johannes
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body
2016-07-25 8:06 ` Johannes Schindelin
@ 2016-07-25 10:49 ` Ilya Tumaykin
0 siblings, 0 replies; 7+ messages in thread
From: Ilya Tumaykin @ 2016-07-25 10:49 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
On Monday 25 July 2016 10:06:28 Johannes Schindelin wrote:
> Hi Ilya,
>
> On Mon, 25 Jul 2016, Ilya Tumaykin wrote:
> > On Monday 25 July 2016 09:33:00 Johannes Schindelin wrote:
> > > On Sun, 24 Jul 2016, Ilya Tumaykin wrote:
> > > [...]
> > >
> > > > $ git --no-pager log -1 --format='format:%+s%+b'
> > > >
> > > > Actual results:
> > > > ```
> > > >
> > > > This is subject
> > > > And this is body
> > > > ```
> >
> > According to 'git-log' man page '%+b' should insert linefeed "immediately
> > before the expansion if and only if the placeholder expands to a non-empty
> > string." Here "%b" expands to a non-empty string, thus I expect a linefeed
> > before it. Or am I misinterpreting man page somehow?
>
> The line break is there: after the subject. The misinterpretation is most
> likely the assumption that the new-line "character" is part of the commit
> subject; It is not.
I see. Thank you very much for the explanation. This does help me.
--
Best regards.
Ilya Tumaykin.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body
2016-07-25 7:33 ` Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body Johannes Schindelin
2016-07-25 7:51 ` Ilya Tumaykin
@ 2016-07-25 17:28 ` Jakub Narębski
1 sibling, 0 replies; 7+ messages in thread
From: Jakub Narębski @ 2016-07-25 17:28 UTC (permalink / raw)
To: Johannes Schindelin, Ilya Tumaykin; +Cc: git
W dniu 2016-07-25 o 09:33, Johannes Schindelin pisze:
> Therefore "%s%n%+b" *might* do what you intended (I would not
> know, because that information was missing from the report).
Shouldn't it be "%s%n%n%-b" or "%s%n%-b"?
--
Jakub Narębski
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-07-25 17:28 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-24 13:46 Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body Ilya Tumaykin
2016-07-25 6:55 ` Bug: Beat Bolli
2016-07-25 7:33 ` Bug: "git log --format='format:%+s%+b'" doesn't insert newline before body Johannes Schindelin
2016-07-25 7:51 ` Ilya Tumaykin
2016-07-25 8:06 ` Johannes Schindelin
2016-07-25 10:49 ` Ilya Tumaykin
2016-07-25 17:28 ` Jakub Narębski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).