Re: [PATCH 1/2] line-log: fix assertion error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



SZEDER Gábor <szeder.dev@xxxxxxxxx> writes:

>   - When a commit modifies an interesting path, the line-log machinery
>     first checks which diff range (i.e. hunk) modify any line ranges.
>     This is done in diff_ranges_filter_touched(), where the outer loop
>     iterates over the diff ranges, and in each iteration the inner
>     loop advances the line ranges supposedly until the current line
>     range ends at or after the current diff range starts, and then the
>     current diff and line ranges are checked for overlap.
> ...
>     Fix that loop condition in diff_ranges_filter_touched() to not
>     treat 'end' as part of the line range.
>
>   - With the above fix the assertion error is gone... but, alas, we
>     now get stuck in an endless loop!
> ...
>     Fix this condition in range_set_difference() to not treat 'end' as
>     part of the line range.
>
>   - With the above fix the endless loop is gone... but, alas, the
>     output is now wrong, as it shows both line ranges for HEAD, even
>     though the first line range is not modified by that commit:
> ...
>     Fix this condition to not treat 'end' as part of the line range,
>     just like in the previous cases.
>
> After all this the command in the above example finally finishes and
> produces the right output:

What a lengthy journey X-<.

Thanks for an amusing description.




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux