On Tue, May 29, 2018 at 1:30 AM,  <isteph...@atlassian.com> wrote:
> If the -L option is used to specify a line range in git log, and the end
> of the range is past the end of the file, git will fail with a fatal
> error. This commit prevents such behaviour - instead we perform the log
> for existing lines within the specified range.
>
> This commit also fixes a corner case where -L ,-n:file would be treated
> as a log over the whole file. Now we treat this as -L 1,-n:file and
> blame the first line of the file instead.
>
> Signed-off-by: Isabella Stephens <isteph...@atlassian.com>
> ---
> diff --git a/t/t4211-line-log.sh b/t/t4211-line-log.sh
> @@ -86,12 +85,7 @@ test_expect_success '-L ,Y (Y == nlines)' '
>  test_expect_success '-L ,Y (Y == nlines + 1)' '
>         n=$(expr $(wc -l <b.c) + 1) &&
> -       test_must_fail git log -L ,$n:b.c
> -'
> -
> -test_expect_success '-L ,Y (Y == nlines + 2)' '
> -       n=$(expr $(wc -l <b.c) + 2) &&
> -       test_must_fail git log -L ,$n:b.c
> +       git log -L ,$n:b.c
>  '

Not sure why you removed the 'n+2' test which was added intentionally,
along with the 'n' and 'n+1' tests, to probe the boundary handling for
correctness. By eliminating 'n+2', coverage is reduced and, even
though your change might be correct at this boundary, some future
breaking change might go undetected.

Reply via email to