summaryrefslogtreecommitdiff
path: root/t/t9828-git-p4-map-user.sh
diff options
context:
space:
mode:
authorLars Schneider <lars.schneider@autodesk.com>2016-03-01 10:49:56 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-03-15 18:45:13 (GMT)
commit10d08a149d2295a239ac7710d32c0b77492f61c3 (patch)
tree5901bdc77a12cfa7dbf09c76299cc77555e42b65 /t/t9828-git-p4-map-user.sh
parent594730e980521310d88006d91f3f14ef5eff1e2b (diff)
downloadgit-10d08a149d2295a239ac7710d32c0b77492f61c3.zip
git-10d08a149d2295a239ac7710d32c0b77492f61c3.tar.gz
git-10d08a149d2295a239ac7710d32c0b77492f61c3.tar.bz2
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>
Diffstat (limited to 't/t9828-git-p4-map-user.sh')
-rwxr-xr-xt/t9828-git-p4-map-user.sh61
1 files changed, 61 insertions, 0 deletions
diff --git a/t/t9828-git-p4-map-user.sh b/t/t9828-git-p4-map-user.sh
new file mode 100755
index 0000000..e20395c
--- /dev/null
+++ b/t/t9828-git-p4-map-user.sh
@@ -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