i18n: connect: mark die messages for translation
[gitweb.git] / t / t5512-ls-remote.sh
index 3bd9759e0ff01af9969e1f8ae088945d9e2e34e4..c23434ba297ed7b05d329186590bb840887eb1c1 100755 (executable)
@@ -99,7 +99,7 @@ test_expect_success 'confuses pattern as remote when no remote specified' '
        # 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 &&
-       test_cmp exp actual
+       test_i18ncmp exp actual
 '
 
 test_expect_success 'die with non-2 for wrong repository even with --exit-code' '
@@ -128,6 +128,11 @@ test_expect_success 'Report match with --exit-code' '
        test_cmp expect actual
 '
 
+test_expect_success 'set up some extra tags for ref hiding' '
+       git tag magic/one &&
+       git tag magic/two
+'
+
 for configsection in transfer uploadpack
 do
        test_expect_success "Hide some refs with $configsection.hiderefs" '
@@ -138,6 +143,69 @@ do
                sed -e "/       refs\/tags\//d" >expect &&
                test_cmp expect actual
        '
+
+       test_expect_success "Override hiding of $configsection.hiderefs" '
+               test_when_finished "test_unconfig $configsection.hiderefs" &&
+               git config --add $configsection.hiderefs refs/tags &&
+               git config --add $configsection.hiderefs "!refs/tags/magic" &&
+               git config --add $configsection.hiderefs refs/tags/magic/one &&
+               git ls-remote . >actual &&
+               grep refs/tags/magic/two actual &&
+               ! grep refs/tags/magic/one actual
+       '
+
 done
 
+test_expect_success 'overrides work between mixed transfer/upload-pack hideRefs' '
+       test_config uploadpack.hiderefs refs/tags &&
+       test_config transfer.hiderefs "!refs/tags/magic" &&
+       git ls-remote . >actual &&
+       grep refs/tags/magic actual
+'
+
+test_expect_success 'ls-remote --symref' '
+       cat >expect <<-\EOF &&
+       ref: refs/heads/master  HEAD
+       1bd44cb9d13204b0fe1958db0082f5028a16eb3a        HEAD
+       1bd44cb9d13204b0fe1958db0082f5028a16eb3a        refs/heads/master
+       1bd44cb9d13204b0fe1958db0082f5028a16eb3a        refs/remotes/origin/HEAD
+       1bd44cb9d13204b0fe1958db0082f5028a16eb3a        refs/remotes/origin/master
+       1bd44cb9d13204b0fe1958db0082f5028a16eb3a        refs/tags/mark
+       EOF
+       git ls-remote --symref >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'ls-remote with filtered symref (refname)' '
+       cat >expect <<-\EOF &&
+       ref: refs/heads/master  HEAD
+       1bd44cb9d13204b0fe1958db0082f5028a16eb3a        HEAD
+       EOF
+       git ls-remote --symref . HEAD >actual &&
+       test_cmp expect actual
+'
+
+test_expect_failure 'ls-remote with filtered symref (--heads)' '
+       git symbolic-ref refs/heads/foo refs/tags/mark &&
+       cat >expect <<-\EOF &&
+       ref: refs/tags/mark     refs/heads/foo
+       1bd44cb9d13204b0fe1958db0082f5028a16eb3a        refs/heads/foo
+       1bd44cb9d13204b0fe1958db0082f5028a16eb3a        refs/heads/master
+       EOF
+       git ls-remote --symref --heads . >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'ls-remote --symref omits filtered-out matches' '
+       cat >expect <<-\EOF &&
+       1bd44cb9d13204b0fe1958db0082f5028a16eb3a        refs/heads/foo
+       1bd44cb9d13204b0fe1958db0082f5028a16eb3a        refs/heads/master
+       EOF
+       git ls-remote --symref --heads . >actual &&
+       test_cmp expect actual &&
+       git ls-remote --symref . "refs/heads/*" >actual &&
+       test_cmp expect actual
+'
+
+
 test_done