Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 48c1e9b

Browse files
authored
Merge pull request #1193 from bertwesarg/revert-sorted-kwargs
Restore order of operators before executing the git command only for < py3.6
2 parents 63c31b6 + 5df76d4 commit 48c1e9b

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

‎git/cmd.py‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import threading
2020
from collections import OrderedDict
2121
from textwrap import dedent
22+
import warnings
2223

2324
from git.compat import (
2425
defenc,
@@ -902,8 +903,14 @@ def transform_kwarg(self, name, value, split_single_char_options):
902903

903904
def transform_kwargs(self, split_single_char_options=True, **kwargs):
904905
"""Transforms Python style kwargs into git command line options."""
906+
# Python 3.6 preserves the order of kwargs and thus has a stable
907+
# order. For older versions sort the kwargs by the key to get a stable
908+
# order.
909+
if sys.version_info[:2] < (3, 6):
910+
kwargs = OrderedDict(sorted(kwargs.items(), key=lambda x: x[0]))
911+
warnings.warn("Python 3.5 support is deprecated. It does not preserve the order\n" +
912+
"for key-word arguments. Thus they will be sorted!!")
905913
args = []
906-
kwargs = OrderedDict(sorted(kwargs.items(), key=lambda x: x[0]))
907914
for k, v in kwargs.items():
908915
if isinstance(v, (list, tuple)):
909916
for value in v:

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /