On Mon, Feb 13, 2017 at 11:25 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > hIpPy <hippy2981@xxxxxxxxx> writes: > >> The `git log` command with `graph` and pretty format works correctly >> as expected. >> >> $ git log --graph --pretty=format:'%h' -2 >> * 714a14e >> * 87dce5f >> >> >> However, with `--name-status` option added, there is a pipe >> incorrectly placed after the commit hash (example below). >> >> $ git log --graph --pretty=format:'%h' -2 --name-status >> * 714a14e| >> | M README.md > > Is it a --name-status, or is it your own custom format, that is > causing the above issue? > > - What happens if you stop using --pretty=format:%h and replace it > with something like --oneline? > > - What happens if you keep using --pretty=format:%h but replace > --name-status with something else, e.g. --raw or --stat? > - What happens if you stop using --pretty=format:%h and replace it with something like --oneline? --oneline works correctly as expected (example below). $ git log --graph --oneline -2 --name-status * bf7ace7daf (HEAD -> rm/option-for-name-status) wip: --ns for --name-status | M diff.c * 592e5c5bce (origin/master, origin/HEAD, master) Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd |\ - What happens if you keep using --pretty=format:%h but replace --name-status with something else, e.g. --raw or --stat? I see the same issue with --raw and --stat (examples below). $ git log --graph --pretty=format:'%h' -2 --raw * bf7ace7daf| | :100644 100644 84dba60c40... 87dfabf4a9... M diff.c * 592e5c5bce |\ $ git log --graph --pretty=format:'%h' -2 --stat * bf7ace7daf| | diff.c | 2 +- | 1 file changed, 1 insertion(+), 1 deletion(-) * 592e5c5bce |\ I believe it's not my custom format that is causing the issue. I'm including this information that may not be relevant. I apologize in advance for that. I had simplified the custom format in my previous email. For below custom format I still see the pipe incorrectly placed. $ git log --graph --date=relative --decorate --abbrev-commit --format=format:'%h - %aD (%ar)%d%n %s - %an' -2 --name-status * bf7ace7daf - Mon, 6 Feb 2017 13:09:32 -0800 (7 days ago) (HEAD -> rm/option-for-name-status) | wip: --ns for --name-status - Rishikesh Mandvikar| | M diff.c * 592e5c5bce - Wed, 1 Feb 2017 16:35:30 +0100 (12 days ago) (origin/master, origin/HEAD, master) |\ Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd - Johannes Schindelin If I were to put a '%n' at the end (example below), the pipe is correctly placed with or without the --name-status option. But in case of "without the --name-status option", there is an extra blank line. It seems that my custom format is requiring a %n at the end. I consider my custom format as a --twoline option and I feel the behavior should match --oneline when using options. With --name-status: This works correctly. $ git log --graph --date=relative --decorate --abbrev-commit --format=format:'%h - %aD (%ar)%d%n %s - %an%n' -2 --name-status * bf7ace7daf - Mon, 6 Feb 2017 13:09:32 -0800 (7 days ago) (HEAD -> rm/option-for-name-status) | wip: --ns for --name-status - Rishikesh Mandvikar | | M diff.c | * 592e5c5bce - Wed, 1 Feb 2017 16:35:30 +0100 (12 days ago) (origin/master, origin/HEAD, master) |\ Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd - Johannes Schindelin Without --name-status: This works but has extra blank line between commits though. $ git log --graph --date=relative --decorate --abbrev-commit --format=format:'%h - %aD (%ar)%d%n %s - %an%n' -2 * bf7ace7daf - Mon, 6 Feb 2017 13:09:32 -0800 (7 days ago) (HEAD -> rm/option-for-name-status) | wip: --ns for --name-status - Rishikesh Mandvikar | * 592e5c5bce - Wed, 1 Feb 2017 16:35:30 +0100 (12 days ago) (origin/master, origin/HEAD, master) |\ Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd - Johannes Schindelin I think that requiring to end custom formats with %n with options is not good. So I think this is a bug. Thanks, RM