summaryrefslogtreecommitdiff
path: root/t/t5512-ls-remote.sh
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2018-05-08 15:59:29 +0900
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-05-08 15:59:29 +0900
commit6c0110ff0648ad1f8eb97edb7f43039c8c47f29f (patch)
tree86c8923366dc401272727bfbfd74a6374b2dd675 /t/t5512-ls-remote.sh
parentMerge branch 'ab/git-svn-get-record-typofix' (diff)
parentls-remote: create '--sort' option (diff)
downloadtgif-6c0110ff0648ad1f8eb97edb7f43039c8c47f29f.tar.xz
Merge branch 'hn/sort-ls-remote'
"git ls-remote" learned an option to allow sorting its output based on the refnames being shown. * hn/sort-ls-remote: ls-remote: create '--sort' option
Diffstat (limited to 't/t5512-ls-remote.sh')
-rwxr-xr-xt/t5512-ls-remote.sh54
1 files changed, 47 insertions, 7 deletions
diff --git a/t/t5512-ls-remote.sh b/t/t5512-ls-remote.sh
index 02106c9226..83cd35c391 100755
--- a/t/t5512-ls-remote.sh
+++ b/t/t5512-ls-remote.sh
@@ -10,6 +10,9 @@ test_expect_success setup '
test_tick &&
git commit -m initial &&
git tag mark &&
+ git tag mark1.1 &&
+ git tag mark1.2 &&
+ git tag mark1.10 &&
git show-ref --tags -d | sed -e "s/ / /" >expected.tag &&
(
echo "$(git rev-parse HEAD) HEAD"
@@ -39,6 +42,39 @@ test_expect_success 'ls-remote self' '
test_cmp expected.all actual
'
+test_expect_success 'ls-remote --sort="version:refname" --tags self' '
+ cat >expect <<-EOF &&
+ $(git rev-parse mark) refs/tags/mark
+ $(git rev-parse mark1.1) refs/tags/mark1.1
+ $(git rev-parse mark1.2) refs/tags/mark1.2
+ $(git rev-parse mark1.10) refs/tags/mark1.10
+ EOF
+ git ls-remote --sort="version:refname" --tags self >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'ls-remote --sort="-version:refname" --tags self' '
+ cat >expect <<-EOF &&
+ $(git rev-parse mark1.10) refs/tags/mark1.10
+ $(git rev-parse mark1.2) refs/tags/mark1.2
+ $(git rev-parse mark1.1) refs/tags/mark1.1
+ $(git rev-parse mark) refs/tags/mark
+ EOF
+ git ls-remote --sort="-version:refname" --tags self >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'ls-remote --sort="-refname" --tags self' '
+ cat >expect <<-EOF &&
+ $(git rev-parse mark1.2) refs/tags/mark1.2
+ $(git rev-parse mark1.10) refs/tags/mark1.10
+ $(git rev-parse mark1.1) refs/tags/mark1.1
+ $(git rev-parse mark) refs/tags/mark
+ EOF
+ git ls-remote --sort="-refname" --tags self >actual &&
+ test_cmp expect actual
+'
+
test_expect_success 'dies when no remote specified and no default remotes found' '
test_must_fail git ls-remote
'
@@ -131,7 +167,7 @@ test_expect_success 'Report no-match with --exit-code' '
test_expect_success 'Report match with --exit-code' '
git ls-remote --exit-code other.git "refs/tags/*" >actual &&
- git ls-remote . tags/mark >expect &&
+ git ls-remote . tags/mark* >expect &&
test_cmp expect actual
'
@@ -170,14 +206,18 @@ test_expect_success 'overrides work between mixed transfer/upload-pack hideRefs'
grep refs/tags/magic actual
'
+git fetch origin
test_expect_success 'ls-remote --symref' '
- cat >expect <<-\EOF &&
+ 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
+ $(git rev-parse HEAD) HEAD
+ $(git rev-parse refs/heads/master) refs/heads/master
+ $(git rev-parse HEAD) refs/remotes/origin/HEAD
+ $(git rev-parse refs/remotes/origin/master) refs/remotes/origin/master
+ $(git rev-parse refs/tags/mark) refs/tags/mark
+ $(git rev-parse refs/tags/mark1.1) refs/tags/mark1.1
+ $(git rev-parse refs/tags/mark1.10) refs/tags/mark1.10
+ $(git rev-parse refs/tags/mark1.2) refs/tags/mark1.2
EOF
git ls-remote --symref >actual &&
test_cmp expect actual