git-blame -L is documented as accepting 1-based line numbers. When
handed a line number less than 1, -L's behavior is undocumented and
undefined; it's also nonsensical and should be rejected but is
nevertheless accepted. Demonstrate this shortcoming.
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
check_count -L6,3 B 1 B1 1 B2 1 D 1
'
+test_expect_failure 'blame -L -X' '
+ test_must_fail $PROG -L-1 file
+'
+
+test_expect_failure 'blame -L 0' '
+ test_must_fail $PROG -L0 file
+'
+
+test_expect_failure 'blame -L ,0' '
+ test_must_fail $PROG -L,0 file
+'
+
test_expect_success 'blame -L ,+0' '
test_must_fail $PROG -L,+0 file
'