Re: add a blank line when a commit has no parent in log output?
From: Philippe Blain <hidden>
Date: 2021-01-14 19:30:27
Hi Jason, Le 2021-01-14 à 13:30, Jason Pyeron a écrit :
Take this git log --format="%C(auto) %h% ad%d% s%C(green)% aE" --graph --date=short | | | * 5505e019c2 2014-07-09 initial xxxxxx@xxxx | | | * 3e658f4085 2019-09-10 (wiki/wip-citest, origin/wip-citest) Added defau | | | * ad148aafe6 2019-09-10 Added default CI/CD Jenkinsfile (from f7daf088) One might assume 5505e019c2 and 3e658f4085 are related. But git cat-file -p 5505e019c2 tree 546c6b71f01e7fd086c8adb832518240b71a9075 author sam swindell <xxxxxx@xxxx> 1404878701 -0400 committer sam swindell <xxxxxx@xxxx> 1404878701 -0400 initial Is there a way to have it look like: | | | * 5505e019c2 2014-07-09 initial xxxxxx@xxxx | | | | | | * 3e658f4085 2019-09-10 (wiki/wip-citest, origin/wip-citest) Added defau | | | * ad148aafe6 2019-09-10 Added default CI/CD Jenkinsfile (from f7daf088) Or | | | # 5505e019c2 2014-07-09 initial xxxxxx@xxxx | | | * 3e658f4085 2019-09-10 (wiki/wip-citest, origin/wip-citest) Added defau | | | * ad148aafe6 2019-09-10 Added default CI/CD Jenkinsfile (from f7daf088)
If you remove '--graph', then you can add '--show-linear-break' [1]. Unfortunately
these two options do not work together. I think your suggestion to have the '*'
be changed to '#' for root commit is a great idea.
In the mean time, I use this trick:
git log --date=short --format='%C(auto) %h% [%<(2,trunc)%p] ad%d% s%C(green)% aE'
This adds the abbreviated parent hashes (%p) but truncated to 2 characters ([2], [3]). So
the brackets will be empty for root commits.
Cheers,
Philippe.
[1] https://git-scm.com/docs/git-log#Documentation/git-log.txt---show-linear-breakltbarriergt
[2] https://git-scm.com/docs/git-log#Documentation/git-log.txt-empem
[3] https://git-scm.com/docs/git-log#Documentation/git-log.txt-emltltNgttruncltruncmtruncem