Web lists-archives.com

Re: [RFE] Please add name and email to git credentials




On Thu, Nov 01 2018, Nicolas Mailhot wrote:

> Le jeudi 01 novembre 2018 à 12:22 +0100, Ævar Arnfjörð Bjarmason a
> écrit :
>>
>> Where would we get an E-Mail to lookup to pass to the helper? Are you
>> just asking that the helper git the result of $(git config user.name
>> &&
>> git config user.email)? If so why can't it just look this up itself?
>
>
> So, just in case it was not clear enough, allow things in .gitconfig
> like
>
> [credential "https://pkgs.fedoraproject.org/";]
> username = doe4ever
> name = John Doe
> email = doe4ever@xxxxxxxxxxxxxxxxx
> [credential "https://gitlab.corp.com/";]
> username = jdoe56874
> name = John Doe, Snr Engineer
> email = john.doe@xxxxxxxx
>
> Instead of just
>
> [user]
> name = John Doe
> email =  john.doe@xxxxxxxx
> [credential "https://pkgs.fedoraproject.org/";]
> username = doe4ever
> [credential "https://gitlab.corp.com/";]
> username = jdoe56874
>
> and drat, I've commited to XXX with the wrong name/email again

Aaaah! So really you just want to set user.{name,email} if you match a
given URL in the project, and this per-se has nothing to do with
credentials..

Yeah that's a fair request. Although I think tying that up with
credential.* doesn't make sense because we'd:

 1) Need yet another place (config, env vars, now this...) to search for
    what we're putting in the commit object.

 2) Users want to configure this for e.g. different URLs even though
    they don't need different credentials for the two.

I'm too lazy to dig up the thread, but there's been a discussion before
of extending the IncludeIf syntax to support more things that "gitdir",
e.g. matching on the remote URL.

So then you'd do:

    [credential "https://pkgs.fedoraproject.org/";]
    username = doe4ever
    [IncludeIf "remote:https://pkgs.fedoraproject.org/*";]
    path ~/.gitconfig.d/fedoraproject.config

But now what you need to do is clone all the projects in
e.g. ~/git/fedoraproject/* and do:

    [credential "https://pkgs.fedoraproject.org/";]
    username = doe4ever
    [IncludeIf "gitdir:~/g/fedoraproject/*"]
    path ~/.gitconfig.d/fedoraproject.config