Re: [PATCH v2] git-p4: map a P4 user to Git author name and email address

2016-03-15 Thread Luke Diamand
Yes please.


On 15 March 2016 at 16:52, Junio C Hamano  wrote:
> Luke Diamand  writes:
>
>>> Is the patch uninteresting for git-p4 as it handles only an occasional
>>> exception or did the patch get lost in the noise? :-)
>>
>> I thought it was useful; I hadn't realised that it was needed for deleted 
>> users.
>>
>> Luke
>
> So..., should I just pick it up and queue with your Reviewed-by:?
>
> Thanks.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2] git-p4: map a P4 user to Git author name and email address

2016-03-15 Thread Junio C Hamano
Luke Diamand  writes:

>> Is the patch uninteresting for git-p4 as it handles only an occasional
>> exception or did the patch get lost in the noise? :-)
>
> I thought it was useful; I hadn't realised that it was needed for deleted 
> users.
>
> Luke

So..., should I just pick it up and queue with your Reviewed-by:?

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2] git-p4: map a P4 user to Git author name and email address

2016-03-15 Thread Luke Diamand
On 13 March 2016 at 17:41, Lars Schneider  wrote:
>
> On 02 Mar 2016, at 10:25, Lars Schneider  wrote:
>
>>
>>> On 02 Mar 2016, at 06:06, Luke Diamand  wrote:
>>>
>>> On 1 March 2016 at 19:15, Eric Sunshine  wrote:
 On Tue, Mar 1, 2016 at 5:49 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 ".
>
> Signed-off-by: Lars Schneider 
> ---
> diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
> +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.

 Sorry for not paying closer attention the first time, but this needs
 to be repeated for each P4 user you want to map, right? One can
 imagine this quickly becoming painful if you have a lot of users to
 map. Have you considered modeling this after git-svn where you can set
 an "authors" file (and name the corresponding option --authors-file)?
>>>
>>> For most authors it should just use the existing Perforce user
>>> information. This is (I assume) just for the occasional exception
>>> where Perforce has the wrong email address.
>> I agree this is an occasional exception. I use it for users that have been 
>> deleted on the Perforce server.
>>
>> @Eric: If a user wants to they could create a custom gitconfig and then use 
>> the config "include" mechanism to achieve a "authors" file kind of approach.
>>
>
> Is the patch uninteresting for git-p4 as it handles only an occasional
> exception or did the patch get lost in the noise? :-)

I thought it was useful; I hadn't realised that it was needed for deleted users.

Luke
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2] git-p4: map a P4 user to Git author name and email address

2016-03-13 Thread Lars Schneider

On 02 Mar 2016, at 10:25, Lars Schneider  wrote:

> 
>> On 02 Mar 2016, at 06:06, Luke Diamand  wrote:
>> 
>> On 1 March 2016 at 19:15, Eric Sunshine  wrote:
>>> On Tue, Mar 1, 2016 at 5:49 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 ".
 
 Signed-off-by: Lars Schneider 
 ---
 diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
 +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.
>>> 
>>> Sorry for not paying closer attention the first time, but this needs
>>> to be repeated for each P4 user you want to map, right? One can
>>> imagine this quickly becoming painful if you have a lot of users to
>>> map. Have you considered modeling this after git-svn where you can set
>>> an "authors" file (and name the corresponding option --authors-file)?
>> 
>> For most authors it should just use the existing Perforce user
>> information. This is (I assume) just for the occasional exception
>> where Perforce has the wrong email address.
> I agree this is an occasional exception. I use it for users that have been 
> deleted on the Perforce server.
> 
> @Eric: If a user wants to they could create a custom gitconfig and then use 
> the config "include" mechanism to achieve a "authors" file kind of approach.
> 

Is the patch uninteresting for git-p4 as it handles only an occasional
exception or did the patch get lost in the noise? :-)

Thanks,
Lars

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2] git-p4: map a P4 user to Git author name and email address

2016-03-02 Thread Lars Schneider

> On 02 Mar 2016, at 06:06, Luke Diamand  wrote:
> 
> On 1 March 2016 at 19:15, Eric Sunshine  wrote:
>> On Tue, Mar 1, 2016 at 5:49 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 ".
>>> 
>>> Signed-off-by: Lars Schneider 
>>> ---
>>> diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
>>> +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.
>> 
>> Sorry for not paying closer attention the first time, but this needs
>> to be repeated for each P4 user you want to map, right? One can
>> imagine this quickly becoming painful if you have a lot of users to
>> map. Have you considered modeling this after git-svn where you can set
>> an "authors" file (and name the corresponding option --authors-file)?
> 
> For most authors it should just use the existing Perforce user
> information. This is (I assume) just for the occasional exception
> where Perforce has the wrong email address.
I agree this is an occasional exception. I use it for users that have been 
deleted on the Perforce server.

@Eric: If a user wants to they could create a custom gitconfig and then use the 
config "include" mechanism to achieve a "authors" file kind of approach.

Cheers,
Lars--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2] git-p4: map a P4 user to Git author name and email address

2016-03-01 Thread Luke Diamand
On 1 March 2016 at 19:15, Eric Sunshine  wrote:
> On Tue, Mar 1, 2016 at 5:49 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 ".
>>
>> Signed-off-by: Lars Schneider 
>> ---
>> diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
>> +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.
>
> Sorry for not paying closer attention the first time, but this needs
> to be repeated for each P4 user you want to map, right? One can
> imagine this quickly becoming painful if you have a lot of users to
> map. Have you considered modeling this after git-svn where you can set
> an "authors" file (and name the corresponding option --authors-file)?

For most authors it should just use the existing Perforce user
information. This is (I assume) just for the occasional exception
where Perforce has the wrong email address.

Luke
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2] git-p4: map a P4 user to Git author name and email address

2016-03-01 Thread Eric Sunshine
On Tue, Mar 1, 2016 at 5:49 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 ".
>
> Signed-off-by: Lars Schneider 
> ---
> diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
> +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.

Sorry for not paying closer attention the first time, but this needs
to be repeated for each P4 user you want to map, right? One can
imagine this quickly becoming painful if you have a lot of users to
map. Have you considered modeling this after git-svn where you can set
an "authors" file (and name the corresponding option --authors-file)?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2] git-p4: map a P4 user to Git author name and email address

2016-03-01 Thread Lars Schneider

On 01 Mar 2016, at 11:49, larsxschnei...@gmail.com wrote:

> From: Lars Schneider 
oops ... this should be "larsxschnei...@gmail.com"... sorry

- Lars

> 
> 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 ".
> 
> Signed-off-by: Lars Schneider 
> ---
> 
> diff to v1:
> 
> * use '=' instead of '->' to mimic SVN user mapping format (thanks Eric)
> * fix ASCII doc formatting (thanks Eric)
> * fix broken && chain in test (thanks Eric)
> * use more innocuous names for test users (thanks Luke and Torsten)
> * make regex accept more blank characters
> 
> Cheers,
> Lars
> 
> 
> Documentation/git-p4.txt   | 11 +
> git-p4.py  |  9 +++
> t/t9828-git-p4-map-user.sh | 61 ++
> 3 files changed, 81 insertions(+)
> create mode 100755 t/t9828-git-p4-map-user.sh
> 
> diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
> index 738cfde..9f077fd 100644
> --- a/Documentation/git-p4.txt
> +++ b/Documentation/git-p4.txt
> @@ -553,6 +553,17 @@ git-p4.keepEmptyCommits::
>   A changelist that contains only excluded files will be imported
>   as an empty commit if this boolean option is set to true.
> 
> +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.
> +
> Submit variables
> 
> git-p4.detectRenames::
> diff --git a/git-p4.py b/git-p4.py
> index c33dece..bac341d 100755
> --- a/git-p4.py
> +++ b/git-p4.py
> @@ -1160,6 +1160,15 @@ class P4UserMap:
> self.users[output["User"]] = output["FullName"] + " <" + 
> output["Email"] + ">"
> self.emails[output["Email"]] = output["User"]
> 
> +mapUserConfigRegex = 
> re.compile(r"^\s*(\S+)\s*=\s*(.+)\s*<(\S+)>\s*$", re.VERBOSE)
> +for mapUserConfig in gitConfigList("git-p4.mapUser"):
> +mapUser = mapUserConfigRegex.findall(mapUserConfig)
> +if mapUser and len(mapUser[0]) == 3:
> +user = mapUser[0][0]
> +fullname = mapUser[0][1]
> +email = mapUser[0][2]
> +self.users[user] = fullname + " <" + email + ">"
> +self.emails[email] = user
> 
> s = ''
> for (key, val) in self.users.items():
> diff --git a/t/t9828-git-p4-map-user.sh b/t/t9828-git-p4-map-user.sh
> new file mode 100755
> index 000..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   
>  "  &&
> + git config --add git-p4.mapUser "  eri=Erika Musterman 
> " &&
> + git p4 clone --use-client-spec --destination="$git" //depot@all 
> &&
> + cat >expect <<-\EOF &&
> + no 
> + Erika Musterman 
> + Max Musterman 
> + 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
> 

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html