git-p4: label import fails with multiple labels at the same changelist
git-p4 has an array of changelists with one label per changelist. But you can have multiple labels on a single changelist and so this code fails. Add a test case demonstrating the problem. Signed-off-by: Luke Diamand <luke@diamand.org> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
4139ecc2f0
commit
a080558ed7
@ -65,6 +65,47 @@ test_expect_success 'basic p4 labels' '
|
||||
)
|
||||
'
|
||||
|
||||
# Test some label corner cases:
|
||||
#
|
||||
# - two tags on the same file; both should be available
|
||||
# - a tag that is only on one file; this kind of tag
|
||||
# cannot be imported (at least not easily).
|
||||
|
||||
test_expect_failure 'two labels on the same changelist' '
|
||||
test_when_finished cleanup_git &&
|
||||
(
|
||||
cd "$cli" &&
|
||||
mkdir -p main &&
|
||||
|
||||
p4 edit main/f1 main/f2 &&
|
||||
echo "hello world" >main/f1 &&
|
||||
echo "not in the tag" >main/f2 &&
|
||||
p4 submit -d "main/f[12]: testing two labels" &&
|
||||
|
||||
p4 tag -l tag_f1_1 main/... &&
|
||||
p4 tag -l tag_f1_2 main/... &&
|
||||
|
||||
p4 labels ... &&
|
||||
|
||||
"$GITP4" clone --dest="$git" --detect-labels //depot@all &&
|
||||
cd "$git" &&
|
||||
|
||||
git tag | grep tag_f1 &&
|
||||
git tag | grep -q tag_f1_1 &&
|
||||
git tag | grep -q tag_f1_2 &&
|
||||
|
||||
cd main &&
|
||||
|
||||
git checkout tag_tag_f1_1 &&
|
||||
ls &&
|
||||
test -f f1 &&
|
||||
|
||||
git checkout tag_tag_f1_2 &&
|
||||
ls &&
|
||||
test -f f1
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'kill p4d' '
|
||||
kill_p4d
|
||||
'
|
||||
|
Loading…
Reference in New Issue
Block a user