Commit a36bb0e
authored
Add empty string in non-multi dictionary for empty lines (#1332)
Before 2.2.0, we only accepted input arguments in the form `key=value`.
To support the new `wwwauth[]` argument from Git, we added support for
these multi-value args `key[]=value`.
In changing from an dictionary of `string:string` to
`string:list<string>` we accidentally changed the behaviour of
dictionary parsing in the case that an empty valued (non-multi) argument
was provided. For example:
```text
username=\n
```
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:**
```console
% printf "url=https://example.com\nusername=\npassword=\n\n" | git credential approve
fatal: Missing 'username' input argument
```File tree
2 files changed
+18
-4
lines changed2 files changed
+18
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
254 | 254 | | |
255 | 255 | | |
256 | 256 | | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
257 | 270 | | |
258 | 271 | | |
259 | 272 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
248 | 248 | | |
249 | 249 | | |
250 | 250 | | |
| 251 | + | |
251 | 252 | | |
252 | 253 | | |
253 | 254 | | |
| 255 | + | |
254 | 256 | | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
259 | 260 | | |
260 | 261 | | |
261 | 262 | | |
| |||
0 commit comments