Skip to content

Commit

Permalink
Add git-describe test for "verify annotated tag names on output"
Browse files Browse the repository at this point in the history
Back in 212945d ("Teach git-describe to verify annotated tag names
before output") I taught git-describe to output the name shown in the
"tag" header of an annotated tag, rather than the name it is actually
stored under in this repository's ref namespace.

This test case verifies this is working correctly by renaming the ref
for an annotated tag to a different name that what is recorded in the
tag body, and verifying that tag is returned.  We also verify there is
a message shown on stderr to inform the user that the tag is possibly
stored under the wrong name locally.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Shawn O. Pearce authored and Junio C Hamano committed Mar 4, 2008
1 parent d1b28f5 commit 3291fe4
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion t/t6120-describe.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ test_description='test describe
check_describe () {
expect="$1"
shift
R=$(git describe "$@")
R=$(git describe "$@" 2>err.actual)
S=$?
cat err.actual >&3
test_expect_success "describe $*" '
test $S = 0 &&
case "$R" in
Expand Down Expand Up @@ -98,6 +99,20 @@ check_describe B --tags HEAD^^2^

check_describe B-0-* --long HEAD^^2^

test_expect_success 'rename tag A to Q locally' '
mv .git/refs/tags/A .git/refs/tags/Q
'
cat - >err.expect <<EOF
warning: tag 'A' is really 'Q' here
EOF
check_describe A-* HEAD
test_expect_success 'warning was displayed for Q' '
git diff err.expect err.actual
'
test_expect_success 'rename tag Q back to A' '
mv .git/refs/tags/Q .git/refs/tags/A
'

test_expect_success 'pack tag refs' 'git pack-refs'
check_describe A-* HEAD

Expand Down

0 comments on commit 3291fe4

Please sign in to comment.