t5531: avoid using an abbreviated option
[gitweb.git] / t / t5512-ls-remote.sh
index 0e8d0fb595103a7e6eca22cbcfbdbc1866079507..ced15ae1224247355125fcbad7ad2184f9861cbe 100755 (executable)
@@ -15,7 +15,7 @@ test_expect_success setup '
        git tag mark1.10 &&
        git show-ref --tags -d | sed -e "s/ /   /" >expected.tag &&
        (
-               echo "$(git rev-parse HEAD)     HEAD"
+               echo "$(git rev-parse HEAD)     HEAD" &&
                git show-ref -d | sed -e "s/ /  /"
        ) >expected.all &&
 
@@ -105,7 +105,7 @@ test_expect_success 'use branch.<name>.remote if possible' '
        git clone . other.git &&
        (
                cd other.git &&
-               echo "$(git rev-parse HEAD)     HEAD"
+               echo "$(git rev-parse HEAD)     HEAD" &&
                git show-ref    | sed -e "s/ /  /"
        ) >exp &&
 
@@ -155,14 +155,12 @@ test_expect_success 'die with non-2 for wrong repository even with --exit-code'
 
 test_expect_success 'Report success even when nothing matches' '
        git ls-remote other.git "refs/nsn/*" >actual &&
-       >expect &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'Report no-match with --exit-code' '
        test_expect_code 2 git ls-remote --exit-code other.git "refs/nsn/*" >actual &&
-       >expect &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'Report match with --exit-code' '
@@ -206,6 +204,12 @@ test_expect_success 'overrides work between mixed transfer/upload-pack hideRefs'
        grep refs/tags/magic actual
 '
 
+test_expect_success 'protocol v2 supports hiderefs' '
+       test_config uploadpack.hiderefs refs/tags &&
+       git -c protocol.version=2 ls-remote . >actual &&
+       ! grep refs/tags actual
+'
+
 test_expect_success 'ls-remote --symref' '
        git fetch origin &&
        cat >expect <<-EOF &&
@@ -262,7 +266,7 @@ test_lazy_prereq GIT_DAEMON '
 # This test spawns a daemon, so run it only if the user would be OK with
 # testing with git-daemon.
 test_expect_success PIPE,JGIT,GIT_DAEMON 'indicate no refs in standards-compliant empty remote' '
-       JGIT_DAEMON_PORT=${JGIT_DAEMON_PORT-${this_test#t}} &&
+       test_set_port JGIT_DAEMON_PORT &&
        JGIT_DAEMON_PID= &&
        git init --bare empty.git &&
        >empty.git/git-daemon-export-ok &&
@@ -304,6 +308,12 @@ test_expect_success 'ls-remote works outside repository' '
        nongit git ls-remote dst.git
 '
 
+test_expect_success 'ls-remote --sort fails gracefully outside repository' '
+       # Use a sort key that requires access to the referenced objects.
+       nongit test_must_fail git ls-remote --sort=authordate "$TRASH_DIRECTORY" 2>err &&
+       test_i18ngrep "^fatal: not a git repository, but the field '\''authordate'\'' requires access to object data" err
+'
+
 test_expect_success 'ls-remote patterns work with all protocol versions' '
        git for-each-ref --format="%(objectname)        %(refname)" \
                refs/heads/master refs/remotes/origin/master >expect &&