Subject: Re: Fwd: Can't override username of default credential context to have different username in custom context.

From: Jeff King <[email-masked]>
Date: Tue, 28 Apr 2015 01:25:02 -0400

On Mon, Apr 27, 2015 at 09:19:31PM +0500, Vladislav Kostenko wrote:

> Here is my scenario:
> 
> 1. First I set default username
> git config --global credential.username myUsername
> 
> 2. Then I want to have different username for my other repository
> git config --global
> credential.https://myOtherRepository.visualstudio.com.username
> myOtherUsername
> 
> 3. When I try to pull new changes, git asks for password of myUsername
> Password for 'https://[email-masked]':
> 
> But I want to have:
> Password for 'https://[email-masked]':
> 
> Is there any way to accomplish overriding?

Only by changing the ordering in the config file, as you noticed.

The other http.* options will choose the most-specific match, but the
credential code predates that, and blindly goes in config order. Kyle
(cc'd) added the urlmatch support for http.*, and might be able to say
whether it could be adapted for the credential code. If so, then I think
it would need somebody to volunteer to work on it.

That would technically be a backwards-incompatible change to switch the
lookup order at this point in time, but I'm somewhat of the opinion that
in any case it matters, the new behavior would be a strict improvement.

-Peff