Merge branch 'js/rebase-p-tests'
[gitweb.git] / t / t5512-ls-remote.sh
index ea020040e858de0c65759e299ce9cf646573fc63..91ee6841c150f5b7c03e2624231b5344a1fa47e9 100755 (executable)
@@ -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' '
@@ -304,4 +302,22 @@ test_expect_success 'ls-remote works outside repository' '
        nongit git ls-remote dst.git
 '
 
+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 &&
+       git -c protocol.version=1 ls-remote . master >actual.v1 &&
+       test_cmp expect actual.v1 &&
+       git -c protocol.version=2 ls-remote . master >actual.v2 &&
+       test_cmp expect actual.v2
+'
+
+test_expect_success 'ls-remote prefixes work with all protocol versions' '
+       git for-each-ref --format="%(objectname)        %(refname)" \
+               refs/heads/ refs/tags/ >expect &&
+       git -c protocol.version=1 ls-remote --heads --tags . >actual.v1 &&
+       test_cmp expect actual.v1 &&
+       git -c protocol.version=2 ls-remote --heads --tags . >actual.v2 &&
+       test_cmp expect actual.v2
+'
+
 test_done