From: Eric Sunshine Date: Sun, 28 Feb 2016 16:19:59 GMT Subject: Re: [PATCH v1] git-p4: map a P4 user to Git author name and email address Message-ID: In-Reply-To: <1456655125-17829-1-git-send-email-larsxschneider@gmail.com> On Sun, Feb 28, 2016 at 5:25 AM, wrote: > 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 ". With the caveat that I'm not a Perforce user, is this arrow "->" thingy common in the Perforce world, or was it invented with this patch? If it was invented here, then would it make sense to instead use a more established format, such as the "authors" mapping file from git-svn? p4user = Joe User More below... > Signed-off-by: Lars Schneider > --- > diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt > @@ -553,6 +553,17 @@ git-p4.keepEmptyCommits:: > +git-p4.mapUser:: > + Map a P4 user to a name and email address in Git. Use a string > + with the following format to create a mapping: > ++ > +------------- > +git config --add git-p4.mapUser "p4user -> First Last " > +------------- > ++ > + A mapping will override any user information from P4. Mappings for > + multiple P4 user can be defined. Does this format correctly with Asciidoc, or does the pargraph need to be left-justified? (I haven't tested it myself.) > diff --git a/t/t9828-git-p4-map-user.sh 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" Broken &&-chain. > + P4USER=mmax Ditto. > + >max.txt && > + p4 add max.txt && > + p4 submit -d "Add file max" Ditto. > + P4USER=mo Ditto. > + >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 Mustermann " && > + git config --add git-p4.mapUser "mo -> Moritz Untreu " && > + git p4 clone --use-client-spec --destination="$git" //depot@all && > + cat >expect <<-\EOF && > + no > + Moritz Untreu > + Max Mustermann > + Dr. author > + EOF > + git log --format="%an <%ae>" >actual && > + test_cmp expect actual > + ) > +' > + > +test_expect_success 'kill p4d' ' > + kill_p4d > +' > + > +test_done > -- > 2.5.1