When two commits have the same timestamp, the SourceTree graph gets messed up when displayed in Date Order.
I know that this has been submitted (and closed) multiple times before, including:
SRCTREEWIN-454
SRCTREEWIN-1509
SRCTREEWIN-801
SRCTREEWIN-1831
SRCTREEWIN-3082
SRCTREEWIN-1798
Yes, I understand that this can be worked around by switching to Ancestor Order. But that is not the default, and since it's slower I understand why you don't want it to be the default. That's fine.
Since multiple people have submitted this defect, that indicates that your customers continue to run into this, which makes SourceTree look bad. So it seems like it would be worth fixing if you can.
I understand why you don't want to fix the general case of the date order being totally different from the ancestor order. As you've pointed out in some of those other issues above, this could be slow and difficult to do.
Instead, I propose that you focus on the 99% case, where there are just two commits that have identical timestamps and end up in the wrong order. No need to search arbitrarily far in the git log, all you need to do is:
- If the current commit has a timestamp identical to the commit immediately above it, and the commit above it is the parent of the current commit,
- then change the order of these two commits
- else do nothing
This would fix this issue for me, and for most of the people who have previously submitted this issue. Please consider it. Thanks!