summaryrefslogtreecommitdiff
path: root/t/t1403-show-ref.sh
diff options
context:
space:
mode:
authorVladimir Panteleev <git@thecybershadow.net>2017-01-23 18:00:58 +0000
committerJunio C Hamano <gitster@pobox.com>2017-01-23 12:06:29 -0800
commitd01b8203ec24732e5e8829db44a8150468f2fb7d (patch)
treea880b715baf5ab1ae3f6cdce781644a5b0a14bf2 /t/t1403-show-ref.sh
parent14144d3b53b913b48970aa0947accfe34e745c0f (diff)
downloadgit-d01b8203ec24732e5e8829db44a8150468f2fb7d.tar.gz
show-ref: detect dangling refs under --verify as well
Move detection of dangling refs into show_one(), so that they are detected when --verify is present as well as when it is absent. Signed-off-by: Vladimir Panteleev <git@thecybershadow.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t1403-show-ref.sh')
-rwxr-xr-xt/t1403-show-ref.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/t/t1403-show-ref.sh b/t/t1403-show-ref.sh
index c6872bd96f..30354fd26c 100755
--- a/t/t1403-show-ref.sh
+++ b/t/t1403-show-ref.sh
@@ -184,4 +184,26 @@ test_expect_success 'show-ref --verify HEAD' '
test_cmp expect actual
'
+test_expect_success 'show-ref --verify with dangling ref' '
+ sha1_file() {
+ echo "$*" | sed "s#..#.git/objects/&/#"
+ } &&
+
+ remove_object() {
+ file=$(sha1_file "$*") &&
+ test -e "$file" &&
+ rm -f "$file"
+ } &&
+
+ test_when_finished "rm -rf dangling" &&
+ (
+ git init dangling &&
+ cd dangling &&
+ test_commit dangling &&
+ sha=$(git rev-parse refs/tags/dangling) &&
+ remove_object $sha &&
+ test_must_fail git show-ref --verify refs/tags/dangling
+ )
+'
+
test_done