From: Junio C Hamano <hidden> Date: 2016-06-15 22:43:20
"Marco Costalba" [off-list ref] writes:
git-rev-list shows parents correctly, git-log no, in particulary there
is parent 913419f that is shown 3 times instead of 1. Testing on git
repository.
$ git-log --parents --pretty=raw addafaf92e -n1 -- diff.h
commit addafaf92eeb86033da91323d0d3ad7a496dae83
913419fcc648dd43d7f7afdd94fa25aee4f9798a 913419fcc648dd43d7f7a
fdd94fa25aee4f9798a ea726d02e9677a66586d7ffebe97f112ab6dab33
913419fcc648dd43d7f7afdd94fa25aee4f9798a 46a6c262
0ba421397eec627b8eb18eb530e694fc
tree e3be15f54f01e3aa1f8ec830ac87da5f85a23480
parent 6b94f1e404afc552e5139c4357331843f5be61ad
parent 93b74bca86f59b8df410b6fd4803b88ee0f304bf
parent ea726d02e9677a66586d7ffebe97f112ab6dab33
parent b33aba518456bee97bde1fef4fe17ab6bf401bbe
parent 6b1ddbdd6e02719ae2be55dc141a176187e5027e
author Junio C Hamano [off-list ref] 1138436169 -0800
committer Junio C Hamano [off-list ref] 1138436169 -0800
Line wrapping in the middle of a single object name makes it
hard to read doesn't it?
The commit does have 5 parents, among which, three of them merge
branches that do not touch the named paths (in this case it
happens to be a single "diff.h") and parent simplification leads
to the same ancestor.
I recall we added an extra logic in rev-list side to squash the
parent commits that artificially becomes duplicate due to this
history simplification logic, which we might want to port to
git-log. However, I have a slight suspicion that we earlier
decided not to do so on purpose with git-log and for a good
reason. I do not have much energy left tonight to dig into this
right now, but mailing list log and commit log messages for
rev-list.c, builtin-log.c and builtin-rev-list.c might tell you
more.
From: Marco Costalba <hidden> Date: 2016-06-15 22:43:20
On 7/7/07, Junio C Hamano [off-list ref] wrote:
Line wrapping in the middle of a single object name makes it
hard to read doesn't it?
Sorry!
I recall we added an extra logic in rev-list side to squash the
parent commits that artificially becomes duplicate due to this
history simplification logic, which we might want to port to
git-log. However, I have a slight suspicion that we earlier
decided not to do so on purpose with git-log and for a good
reason. I do not have much energy left tonight to dig into this
right now, but mailing list log and commit log messages for
rev-list.c, builtin-log.c and builtin-rev-list.c might tell you
more.
I will take a look hoping to *not* find anything important, now that
qgit rely on git log instead of git-rev-list to show the graph, I
would really hope that it is possible to patch git-log in the same way
then git-rev-list.
Thanks
Marco
From: Marco Costalba <hidden> Date: 2016-06-15 22:43:20
On 7/7/07, Marco Costalba [off-list ref] wrote:
On 7/7/07, Junio C Hamano [off-list ref] wrote:
quoted
git-log. However, I have a slight suspicion that we earlier
decided not to do so on purpose with git-log and for a good
reason. I do not have much energy left tonight to dig into this
right now, but mailing list log and commit log messages for
rev-list.c, builtin-log.c and builtin-rev-list.c might tell you
more.
I will take a look ...
The commit with the patch for git-rev-list is 884944239f2
I have found also the following commits, more or less related:
884944239f2 3381c790 2a0925be3
But I haven't found messages with downsides of using the same approach
also for git log.
So could you please apply the patch also for git-log if possible.
Thanks
Marco