diff options
author | Sebastian Thiel <sebastian.thiel@icloud.com> | 2021-06-16 11:22:27 +0800 |
---|---|---|
committer | Sebastian Thiel <sebastian.thiel@icloud.com> | 2021-06-16 11:22:36 +0800 |
commit | 820d3cc9ceda3e5690d627677883b7f9d349b326 (patch) | |
tree | af22cfab209f22bd825c700b0bc617d602c998c7 /git/cmd.py | |
parent | 4d86d883714072b6e3bbc56a2127c06e9d6a6582 (diff) | |
download | gitpython-820d3cc9ceda3e5690d627677883b7f9d349b326.tar.gz |
Revert "Remove support for Python 3.5" - fix CI for now.
This reverts commit 45d1cd59d39227ee6841042eab85116a59a26d22.
See #1201 which will hopefully help to get a proper fix soon.
Diffstat (limited to 'git/cmd.py')
-rw-r--r-- | git/cmd.py | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -17,7 +17,9 @@ from subprocess import ( import subprocess import sys import threading +from collections import OrderedDict from textwrap import dedent +import warnings from git.compat import ( defenc, @@ -1003,6 +1005,13 @@ class Git(LazyMixin): def transform_kwargs(self, split_single_char_options: bool = True, **kwargs: Any) -> List[str]: """Transforms Python style kwargs into git command line options.""" + # Python 3.6 preserves the order of kwargs and thus has a stable + # order. For older versions sort the kwargs by the key to get a stable + # order. + if sys.version_info[:2] < (3, 6): + kwargs = OrderedDict(sorted(kwargs.items(), key=lambda x: x[0])) + warnings.warn("Python 3.5 support is deprecated and will be removed 2021-09-05.\n" + + "It does not preserve the order for key-word arguments and enforce lexical sorting instead.") args = [] for k, v in kwargs.items(): if isinstance(v, (list, tuple)): |