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.schinde...@gmx.de>
> ---
>  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

Reply via email to