#!/bin/sh
test_description='Clone repositories and map users'
TEST_PASSES_SANITIZE_LEAK=true
. ./lib-git-p4.sh
test_expect_success 'start p4d' '
start_p4d
'
test_expect_success 'Create a repo with different users' '
client_view "//depot/... //client/..." &&
(
cd "$cli" &&
>author.txt &&
p4 add author.txt &&
p4 submit -d "Add file author\\n" &&
P4USER=mmax &&
>max.txt &&
p4 add max.txt &&
p4 submit -d "Add file max" &&
P4USER=eri &&
>moritz.txt &&
p4 add moritz.txt &&
p4 submit -d "Add file moritz" &&
P4USER=no &&
>nobody.txt &&
p4 add nobody.txt &&
p4 submit -d "Add file nobody"
)
'
test_expect_success 'Clone repo root path with all history' '
client_view "//depot/... //client/..." &&
test_when_finished cleanup_git &&
(
cd "$git" &&
git init . &&
git config --add git-p4.mapUser "mmax = Max Musterman <[email protected]> " &&
git config --add git-p4.mapUser " eri=Erika Musterman <[email protected]>" &&
git p4 clone --use-client-spec --destination="$git" //depot@all &&
cat >expect <<-\EOF &&
no <no@client>
Erika Musterman <[email protected]>
Max Musterman <[email protected]>
Dr. author <[email protected]>
EOF
git log --format="%an <%ae>" >actual &&
test_cmp expect actual
)
'
test_done