The tests use grep to search the output of `git tag` for tagnames they
expect to exist, which can incorrectly pass if an unxpected tag
has the expected tag as its substring. We fix this by using `git
show-ref --verify` instead.
Additionally, we add a negative test to verify that a possible
uninteded tag does not show up in the imported repository.
This change also fixes an additional problem, where piping the
output of `git tag` caused the exit codes to be lost.
Signed-off-by: Anthony Wang <anthonywang513@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
cd "$git" &&
git p4 sync --import-labels &&
- git tag | grep TAG_F1 &&
- git tag | grep -q TAG_F1_1 &&
- git tag | grep -q TAG_F1_2 &&
+ git show-ref --verify refs/tags/TAG_F1_1 &&
+ git show-ref --verify refs/tags/TAG_F1_2 &&
+ test_must_fail git show-ref --verify refs/tags/TAG_F1_ONLY &&
cd main &&
git tag CFG_A_GIT_TAG &&
git p4 rebase --verbose &&
git p4 submit --verbose &&
- git tag &&
- git tag | grep TAG_F1_1
+ git show-ref --verify refs/tags/TAG_F1_1 &&
) &&
(
cd "$cli" &&