Skip to content

Commit 9562ae2

Browse files
committed
rebase on master
1 parent 85ebfb2 commit 9562ae2

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

doc/source/changes.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22
Changelog
33
=========
44

5-
3.1.??
5+
3.1.15 (UNRELEASED)
6+
===================
7+
8+
* add deprectation warning for python 3.5
9+
10+
3.1.14
611
======
712

813
* git.Commit objects now have a ``replace`` method that will return a

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 and will be removed 2021-09-05.\n" +
912+
"It does not preserve the order for key-word arguments and enforce lexical sorting instead.")
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy