diff options
author | Yobmod <yobmod@gmail.com> | 2021-03-16 19:16:19 +0000 |
---|---|---|
committer | Yobmod <yobmod@gmail.com> | 2021-03-16 19:16:19 +0000 |
commit | 9562ae2e2436e052d31c40d5f9d3d0318f6c4575 (patch) | |
tree | 505a6d9a82a514cf244c2474903567628431081c /git/cmd.py | |
parent | 85ebfb2f0dedb18673a2d756274bbcecd1f034c4 (diff) | |
download | gitpython-9562ae2e2436e052d31c40d5f9d3d0318f6c4575.tar.gz |
rebase on master
Diffstat (limited to 'git/cmd.py')
-rw-r--r-- | git/cmd.py | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -19,6 +19,7 @@ import sys import threading from collections import OrderedDict from textwrap import dedent +import warnings from git.compat import ( defenc, @@ -902,8 +903,14 @@ class Git(LazyMixin): def transform_kwargs(self, split_single_char_options=True, **kwargs): """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 = [] - kwargs = OrderedDict(sorted(kwargs.items(), key=lambda x: x[0])) for k, v in kwargs.items(): if isinstance(v, (list, tuple)): for value in v: |