invalid_ref 'foo/./bar'
invalid_ref 'foo/bar/.'
invalid_ref '.refs/foo'
+invalid_ref 'refs/heads/foo.'
invalid_ref 'heads/foo..bar'
invalid_ref 'heads/foo?bar'
valid_ref 'foo./bar'
invalid_ref "$(printf 'heads/foo\t')"
invalid_ref "$(printf 'heads/foo\177')"
valid_ref "$(printf 'heads/fu\303\237')"
-invalid_ref 'heads/*foo/bar' --refspec-pattern
-invalid_ref 'heads/foo*/bar' --refspec-pattern
-invalid_ref 'heads/f*o/bar' --refspec-pattern
-invalid_ref 'heads/foo*//bar' --refspec-pattern
+valid_ref 'heads/*foo/bar' --refspec-pattern
+valid_ref 'heads/foo*/bar' --refspec-pattern
+valid_ref 'heads/f*o/bar' --refspec-pattern
+invalid_ref 'heads/f*o*/bar' --refspec-pattern
+invalid_ref 'heads/foo*/bar*' --refspec-pattern
ref='foo'
invalid_ref "$ref"
invalid_ref !MINGW "$ref" '--refspec-pattern --normalize'
valid_ref !MINGW "$ref" '--refspec-pattern --allow-onelevel --normalize'
-
-valid_ref 'refs/heads/a-very-long-refname'
-invalid_ref 'refs/heads/.a-very-long-refname'
-invalid_ref 'refs/heads/abcdefgh0123..'
-invalid_ref 'refs/heads/abcdefgh01234..'
-invalid_ref 'refs/heads/abcdefgh012345..'
-invalid_ref 'refs/heads/abcdefgh0123456..'
-invalid_ref 'refs/heads/abcdefgh01234567..'
-valid_ref 'refs/heads/abcdefgh0123.a'
-valid_ref 'refs/heads/abcdefgh01234.a'
-valid_ref 'refs/heads/abcdefgh012345.a'
-valid_ref 'refs/heads/abcdefgh0123456.a'
-valid_ref 'refs/heads/abcdefgh01234567.a'
-
test_expect_success "check-ref-format --branch @{-1}" '
T=$(git write-tree) &&
sha1=$(echo A | git commit-tree $T) &&
refname2=$(git check-ref-format --branch @{-2}) &&
test "$refname2" = master'
+test_expect_success 'check-ref-format --branch -naster' '
+ test_must_fail git check-ref-format --branch -naster >actual &&
+ test_must_be_empty actual
+'
+
test_expect_success 'check-ref-format --branch from subdir' '
mkdir subdir &&
test "$refname" = "$sha1"
'
+test_expect_success 'check-ref-format --branch @{-1} from non-repo' '
+ nongit test_must_fail git check-ref-format --branch @{-1} >actual &&
+ test_must_be_empty actual
+'
+
+test_expect_success 'check-ref-format --branch master from non-repo' '
+ echo master >expect &&
+ nongit git check-ref-format --branch master >actual &&
+ test_cmp expect actual
+'
+
valid_ref_normalized() {
prereq=
case $1 in