diff options
author | Isabella Stephens <istephens@atlassian.com> | 2018-06-15 16:29:28 +1000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-06-15 10:29:14 -0700 |
commit | 7f81c00f3b1bd45c2954b18550b8e351651f72f3 (patch) | |
tree | ca5a971b2a150d15d20dcd14fee9346db6abee0a /t | |
parent | blame: prevent error if range ends past end of file (diff) | |
download | tgif-7f81c00f3b1bd45c2954b18550b8e351651f72f3.tar.xz |
log: prevent error if line range ends past end of file
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 <istephens@atlassian.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t4211-line-log.sh | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/t/t4211-line-log.sh b/t/t4211-line-log.sh index d0377fae5c..436b13ad21 100755 --- a/t/t4211-line-log.sh +++ b/t/t4211-line-log.sh @@ -60,7 +60,6 @@ test_bad_opts "-L 1:nonexistent" "There is no path" test_bad_opts "-L 1:simple" "There is no path" test_bad_opts "-L '/foo:b.c'" "argument not .start,end:file" test_bad_opts "-L 1000:b.c" "has only.*lines" -test_bad_opts "-L 1,1000:b.c" "has only.*lines" test_bad_opts "-L :b.c" "argument not .start,end:file" test_bad_opts "-L :foo:b.c" "no match" @@ -86,12 +85,12 @@ 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 + 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 ' test_expect_success '-L with --first-parent and a merge' ' |