Add empty string in non-multi dictionary for empty lines #1332
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Before 2.2.0, we only accepted input arguments in the form
key=value
. To support the newwwwauth[]
argument from Git, we added support for these multi-value argskey[]=value
.In changing from an dictionary of
string:string
tostring:list<string>
we accidentally changed the behaviour of dictionary parsing in the case that an empty valued (non-multi) argument was provided. For example:Previously this was returned as an empty string. Post 2.2.0 this became
null
, causing an error in scenarios were before there was none.One such scenario is with Windows Integrated Authentication (for example when connecting to Azure DevOps Server/TFS instances), whereby we return an empty username and password to Git to signal this auth mode. Git then returns to us the empty username and password in a
store
call.Update the handling in
ParseMultiLine
to restore the previous behaviour for empty-valued arguments being mapped to the empty string.Fixes #1331
Bug reproduction steps: