git p4 test: should honor symlink in p4 client root
[gitweb.git] / t / t5512-ls-remote.sh
index 6764d511ce08cf62da2c257bf5fe50cabaf2f03c..321c3e5234fdec35f5925e40a18ae74d1cba55c0 100755 (executable)
@@ -87,17 +87,15 @@ test_expect_success 'use branch.<name>.remote if possible' '
 test_expect_success 'confuses pattern as remote when no remote specified' '
        cat >exp <<-\EOF &&
        fatal: '\''refs*master'\'' does not appear to be a git repository
-       fatal: The remote end hung up unexpectedly
+       fatal: Could not read from remote repository.
+
+       Please make sure you have the correct access rights
+       and the repository exists.
        EOF
        #
-       # Do not expect "git ls-remote <pattern>" to work; ls-remote, correctly,
-       # confuses <pattern> for <remote>. Although ugly, this behaviour is akin
-       # to the confusion of refspecs for remotes by git-fetch and git-push,
-       # eg:
-       #
-       #   $ git fetch branch
-       #
-
+       # Do not expect "git ls-remote <pattern>" to work; ls-remote needs
+       # <remote> if you want to feed <pattern>, just like you cannot say
+       # fetch <branch>.
        # We could just as easily have used "master"; the "*" emphasizes its
        # role as a pattern.
        test_must_fail git ls-remote refs*master >actual 2>&1 &&
@@ -128,4 +126,16 @@ test_expect_success 'Report match with --exit-code' '
        test_cmp expect actual
 '
 
+for configsection in transfer uploadpack
+do
+       test_expect_success "Hide some refs with $configsection.hiderefs" '
+               test_config $configsection.hiderefs refs/tags &&
+               git ls-remote . >actual &&
+               test_unconfig $configsection.hiderefs &&
+               git ls-remote . |
+               sed -e "/       refs\/tags\//d" >expect &&
+               test_cmp expect actual
+       '
+done
+
 test_done