-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
git-p4: map a P4 user to Git author name and email address
Map a P4 user to a specific name and email address in Git with the "git-p4.mapUser" config. The config value must be a string adhering to the format "p4user = First Lastname <email@address.com>". Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Reviewed-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
- Loading branch information
Lars Schneider
authored and
Junio C Hamano
committed
Mar 15, 2016
1 parent
594730e
commit 10d08a1
Showing
3 changed files
with
81 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
#!/bin/sh | ||
|
||
test_description='Clone repositories and map users' | ||
|
||
. ./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 <max@example.com> " && | ||
git config --add git-p4.mapUser " eri=Erika Musterman <erika@example.com>" && | ||
git p4 clone --use-client-spec --destination="$git" //depot@all && | ||
cat >expect <<-\EOF && | ||
no <no@client> | ||
Erika Musterman <erika@example.com> | ||
Max Musterman <max@example.com> | ||
Dr. author <author@example.com> | ||
EOF | ||
git log --format="%an <%ae>" >actual && | ||
test_cmp expect actual | ||
) | ||
' | ||
|
||
test_expect_success 'kill p4d' ' | ||
kill_p4d | ||
' | ||
|
||
test_done |