Re: git-log --format missing trailing newline character
- From
- Alejandro Colomar <alx@kernel.org>
- Date
- Dec 23, 2024, 20:49 UTC
- Message-ID
- <5aib7c6x5m6e4muutjuoqp3f4lvpeh3hz5qkwpayi2usm7b6yi@af2oucx5j4w5>
- In-Reply-To
- <d813a3dd-68c2-4cbe-92a0-cfd1ece77e9b@app.fastmail.com>
Hi Kristoffer,
On Mon, Dec 23, 2024 at 09:36:48PM GMT, Kristoffer Haugsbakk wrote:
Show 21 quoted lines
> On Mon, Dec 23, 2024, at 21:28, Alejandro Colomar wrote: > > Hi! > > > > I'm having trouble scripting around git-log(1), due to a missing newline > > character at the end of the file. > > > > $ git -v > > git version 2.45.2 > > $ git log --format=format:'%H' HEAD^^^..HEAD | wc -l > > 2 > > $ git log --format=format:'%H' HEAD^^^..HEAD > > 2ff431ab1b46a25088fe40baf1faf35ea9fac722 > > e75e6c4504022ae52d877926e63c908d9572088a > > 178442837d39560a789a8044a8eb90fde3ad7cd7 > > > > Would you mind fixing this bug? POSIX requires that text files end in a > > newline character, precisely for being able to use UNIX tools to process > > output from arbitrary commands. > > Is the format here simplified relative to your use case? Or do you just > want to process commits as one-hash-per-line?
I want to process commits as one-hash-per-line, yes.
The entire pipeline I have is this:
git rev-list "$old..HEAD" \ | sed 's,.*,https://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git/commit/?h=contrib\&id=&,';
which I run in <hooks/post-update> in my server for printing URIs to all of the newly pushed commits. I use that for easily pasting them to the confirmation email I write to contributors when I apply and push one of their patches.
> I would use > git-rev-list(1) instead in that case.
Hmmm, thanks! I knew there had to be some git-rev-something for this, but couldn't find it! :)
I had workarounded it by doing
git log --oneline --abbrev=40 | cut -f1 -d' '
However, git-rev-list(1) is better, of course, so I'll use it.
Anyway, it feels awkward that git-log(1) skips the last newline whith --format=format. Should that be fixed?
Have a lovely night! Alex
> > -- > Kristoffer Haugsbakk >
-- <https://www.alejandro-colomar.es/>