Hi, Johannes Schindelin wrote: > Currently, this test case throws an assertion: > > Assertion failed! > > Program: git.exe > File: line-log.c, Line 71 > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > --- > t/t4211-line-log.sh | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) Thanks for finding and demonstrating it. Can you say more about what is going on in the test case? Alternatively, could it be squashed in with the patch that fixes it? The below will be more nitpicky: [...] > --- a/t/t4211-line-log.sh > +++ b/t/t4211-line-log.sh > @@ -115,4 +115,21 @@ test_expect_success 'range_set_union' ' > git log $(for x in $(test_seq 200); do echo -L $((2*x)),+1:c.c; done) > ' > > +q_to_lf () { > + tr Q '\012' > +} > + > +test_expect_failure 'close to overlapping ranges' ' > + test_seq 5 >a1.c && > + git add a1.c && > + git commit -m "5 lines" a1.c && It would be nice to use test_tick or test_commit for a more realistic history (with time marching forward). > + sed s/3/3QaQb/ <a1.c | q_to_lf >tmp && > + mv tmp a1.c && > + git commit -m "2 more lines" a1.c && It's probably just me, but the bit with Q makes it hard for me to follow. Maybe there's a simpler way? "sed -e '3aa' -e '3ab'" works here, but I don't know how portable it is. I'd be more tempted to do test_write_lines 1 2 3 4 5 >a1.c && ... test_write_lines 1 2 3 a b 4 5 >a1.c && ... test_write_lines 1 2 3 a b c 4 5 >a1.c && ... which is concise and has obvious behavior. Thanks and hope that helps, Jonathan