Movatterモバイル変換


[0]ホーム

URL:


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

Commit5df76d4

Browse files
committed
Restore order of operators before executing the git command only for < py3.6
Since Python 3.6 kwargs order will be preserved and thus provide a stableorder, therefore we can make89ade7bconditional based on the Python. Thus make it able to pass ordered optionsto Git commands.See:https://www.python.org/dev/peps/pep-0468/
1 parent20f4a9d commit5df76d4

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
importthreading
2020
fromcollectionsimportOrderedDict
2121
fromtextwrapimportdedent
22+
importwarnings
2223

2324
fromgit.compatimport (
2425
defenc,
@@ -902,8 +903,14 @@ def transform_kwarg(self, name, value, split_single_char_options):
902903

903904
deftransform_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+
ifsys.version_info[:2]< (3,6):
910+
kwargs=OrderedDict(sorted(kwargs.items(),key=lambdax: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=lambdax:x[0]))
907914
fork,vinkwargs.items():
908915
ifisinstance(v, (list,tuple)):
909916
forvalueinv:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp