On Thu, Feb 21, 2019 at 01:39:46PM -0800, Junio C Hamano wrote: > > git bisect good > > 3a9388eef42efc87c78ce22158d55e69a278b4eb is the first bad commit > > > > git --version > > git version 2.14.1 > > Are you sure (and if so how did you reach that conclusion) that the > above difference comes from the last 'bad' vs 'good' you finished, > and not comes from the difference between 77c044d8 vs 3a9388ee? > > At the end of the bisection session, bisect.c::show_diff_tree() is > called on that "culprit" commit. Is it possible that 3a9388ee is a > simple and trivial merge that does not have anything worth reporting > for "git diff-tree"? I've run across this many times, too. Since it's been bugging me for a decade, I thought I'd finally try to address it. Here are some patches. There was some discussion about a year ago about just using "git show" for this output: https://public-inbox.org/git/CAP8UFD3QhTUj+j3vBGrm0sTQ2dSOLS-m2_PwFj6DZS4VZHKRTQ@xxxxxxxxxxxxxx/ Christian seemed generally OK with tweaking the output, but preferred not to move all the way to running an external "git show". I'm not sure I completely agree, but it was easy enough to get the results I wanted just by fiddling the current code a bit. ;) [1/3]: bisect: use string arguments to feed internal diff-tree [2/3]: bisect: fix internal diff-tree config loading [3/3]: bisect: make diff-tree output prettier bisect.c | 19 +++++-------------- t/t6030-bisect-porcelain.sh | 6 +++--- 2 files changed, 8 insertions(+), 17 deletions(-) -Peff