summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorq0w <43147888+q0w@users.noreply.github.com>2023-03-20 16:32:42 +0300
committerq0w <43147888+q0w@users.noreply.github.com>2023-03-20 16:32:42 +0300
commit146b00030803b5248852b60ec97e47f84e7194bc (patch)
treec927db08ee156b884ea2181b723dd05ef03520ce /src
parentd41b266bc4edf11d631114e9c4c2115872a0afd9 (diff)
downloadpip-146b00030803b5248852b60ec97e47f84e7194bc.tar.gz
fix merge_config_settings
Diffstat (limited to 'src')
-rw-r--r--src/pip/_internal/utils/misc.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/pip/_internal/utils/misc.py b/src/pip/_internal/utils/misc.py
index 6a2b67b0c..600763c6a 100644
--- a/src/pip/_internal/utils/misc.py
+++ b/src/pip/_internal/utils/misc.py
@@ -14,7 +14,6 @@ import stat
import sys
import sysconfig
import urllib.parse
-from collections import defaultdict
from io import StringIO
from itertools import filterfalse, tee, zip_longest
from types import TracebackType
@@ -746,11 +745,14 @@ def merge_config_settings(
reqs_settings: Dict[str, Union[str, List[str]]],
cli_settings: Dict[str, Union[str, List[str]]],
) -> Dict[str, Union[str, List[str]]]:
- dd = defaultdict(list)
+ dd: Dict[str, Union[str, List[str]]] = {}
for d in (reqs_settings, cli_settings):
for k, v in d.items():
- if isinstance(v, list):
- dd[k].extend(v)
+ if k in dd:
+ if isinstance(dd[k], list):
+ dd[k].append(v)
+ else:
+ dd[k] = [dd[k], v]
else:
- dd[k].append(v)
- return dict(dd)
+ dd[k] = v
+ return dd