Thread (1 message) 1 message, 1 author, 2017-10-27

Re: [PATCH v3] blame: prevent error if range ends past end of file

From: Junio C Hamano <hidden>
Date: 2017-10-27 02:01:16

Junio C Hamano [off-list ref] writes:
For example, with an empty file (i.e. lno == 0), you can ask "git
blame -L1,-4 ("i.e. "at most four lines, ending at line #1") and the
code silently accepts the input without noticing that the request is
an utter nonsense; "file X has only 0 lines" error is given a chance
s/is given/is not given/; obviously.  Sorry for a typo coming from
laggy ssh connection.
to kick in.

There should be an "is the range sensible?" check after all the
tweaking to bottom and top are done, I think.
quoted
 		bottom--;
 		range_set_append_unsafe(&ranges, bottom, top);
diff --git a/t/t8003-blame-corner-cases.sh b/t/t8003-blame-corner-cases.sh
index 661f9d430..728209fa3 100755
--- a/t/t8003-blame-corner-cases.sh
+++ b/t/t8003-blame-corner-cases.sh
@@ -216,14 +216,13 @@ test_expect_success 'blame -L with invalid start' '
 '
 
 test_expect_success 'blame -L with invalid end' '
-	test_must_fail git blame -L1,5 tres 2>errors &&
-	test_i18ngrep "has only 2 lines" errors
+	git blame -L1,5 tres >out &&
+	test_line_count = 2 out
 '
 
 test_expect_success 'blame parses <end> part of -L' '
 	git blame -L1,1 tres >out &&
-	cat out &&
-	test $(wc -l < out) -eq 1
+	test_line_count = 1 out
 '
 
 test_expect_success 'indent of line numbers, nine lines' '
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help