Skip to content

Commit b0422eb

Browse files
committed
Revert "Fix order of operators before executing the git command"
Since Python 3.6 kwargs order will be preserved and Python 3.5 reached its end-of-life, so we can revert 89ade7b again. Thus make it able to pass ordered options to Git commands. See: https://www.python.org/dev/peps/pep-0468/
1 parent 20f4a9d commit b0422eb

File tree

7 files changed

+9
-38
lines changed

7 files changed

+9
-38
lines changed

.appveyor.yml

+2-27
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,12 @@ environment:
66
CYGWIN64_GIT_PATH: "C:\\cygwin64\\bin;%GIT_DAEMON_PATH%"
77

88
matrix:
9-
- PYTHON: "C:\\Python34-x64"
10-
PYTHON_VERSION: "3.4"
11-
GIT_PATH: "%GIT_DAEMON_PATH%"
12-
- PYTHON: "C:\\Python35-x64"
13-
PYTHON_VERSION: "3.5"
14-
GIT_PATH: "%GIT_DAEMON_PATH%"
159
- PYTHON: "C:\\Python36-x64"
1610
PYTHON_VERSION: "3.6"
1711
GIT_PATH: "%GIT_DAEMON_PATH%"
1812
- PYTHON: "C:\\Python37-x64"
1913
PYTHON_VERSION: "3.7"
2014
GIT_PATH: "%GIT_DAEMON_PATH%"
21-
- PYTHON: "C:\\Miniconda35-x64"
22-
PYTHON_VERSION: "3.5"
23-
IS_CONDA: "yes"
24-
MAYFAIL: "yes"
25-
GIT_PATH: "%GIT_DAEMON_PATH%"
26-
## Cygwin
27-
- PYTHON: "C:\\Python35-x64"
28-
PYTHON_VERSION: "3.5"
29-
IS_CYGWIN: "yes"
30-
MAYFAIL: "yes"
31-
GIT_PATH: "%CYGWIN64_GIT_PATH%"
3215

3316
matrix:
3417
allow_failures:
@@ -76,18 +59,10 @@ install:
7659
build: false
7760

7861
test_script:
79-
- IF "%IS_CYGWIN%" == "yes" (
80-
nosetests -v
81-
) ELSE (
82-
IF "%PYTHON_VERSION%" == "3.5" (
83-
nosetests -v --with-coverage
84-
) ELSE (
85-
nosetests -v
86-
)
87-
)
62+
- nosetests -v
8863

8964
on_success:
90-
- IF "%PYTHON_VERSION%" == "3.5" IF NOT "%IS_CYGWIN%" == "yes" (codecov)
65+
- IF "%PYTHON_VERSION%" == "3.6" IF NOT "%IS_CYGWIN%" == "yes" (codecov)
9166

9267
# Enable this to be able to login to the build worker. You can use the
9368
# `remmina` program in Ubuntu, use the login information that the line below

.github/workflows/pythonpackage.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
runs-on: ubuntu-latest
1616
strategy:
1717
matrix:
18-
python-version: [3.5, 3.6, 3.7, 3.8, 3.9]
18+
python-version: [3.6, 3.7, 3.8, 3.9]
1919

2020
steps:
2121
- uses: actions/checkout@v2
@@ -56,4 +56,4 @@ jobs:
5656
run: |
5757
set -x
5858
pip install -r doc/requirements.txt
59-
make -C doc html
59+
make -C doc html

.travis.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# UNUSED, only for reference. If adjustments are needed, please see github actions
22
language: python
33
python:
4-
- "3.4"
5-
- "3.5"
64
- "3.6"
75
- "3.7"
86
- "3.8"
@@ -38,7 +36,7 @@ script:
3836
- ulimit -n
3937
- coverage run --omit="test/*" -m unittest --buffer
4038
- coverage report
41-
- if [ "$TRAVIS_PYTHON_VERSION" == '3.5' ]; then cd doc && make html; fi
39+
- if [ "$TRAVIS_PYTHON_VERSION" == '3.6' ]; then cd doc && make html; fi
4240
- if [ "$TRAVIS_PYTHON_VERSION" == '3.6' ]; then flake8 --ignore=W293,E265,E266,W503,W504,E731; fi
4341
after_success:
4442
- codecov

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ If it is not in your `PATH`, you can help GitPython find it by setting
3434
the `GIT_PYTHON_GIT_EXECUTABLE=<path/to/git>` environment variable.
3535

3636
* Git (1.7.x or newer)
37-
* Python >= 3.5
37+
* Python >= 3.6
3838

3939
The list of dependencies are listed in `./requirements.txt` and `./test-requirements.txt`.
4040
The installer takes care of installing them for you.

doc/source/intro.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ The object database implementation is optimized for handling large quantities of
1313
Requirements
1414
============
1515

16-
* `Python`_ >= 3.5
16+
* `Python`_ >= 3.6
1717
* `Git`_ 1.7.0 or newer
1818
It should also work with older versions, but it may be that some operations
1919
involving remotes will not work as expected.

git/cmd.py

-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import subprocess
1818
import sys
1919
import threading
20-
from collections import OrderedDict
2120
from textwrap import dedent
2221

2322
from git.compat import (
@@ -903,7 +902,6 @@ def transform_kwarg(self, name, value, split_single_char_options):
903902
def transform_kwargs(self, split_single_char_options=True, **kwargs):
904903
"""Transforms Python style kwargs into git command line options."""
905904
args = []
906-
kwargs = OrderedDict(sorted(kwargs.items(), key=lambda x: x[0]))
907905
for k, v in kwargs.items():
908906
if isinstance(v, (list, tuple)):
909907
for value in v:

setup.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def build_py_modules(basedir, excludes=[]):
9999
include_package_data=True,
100100
py_modules=build_py_modules("./git", excludes=["git.ext.*"]),
101101
package_dir={'git': 'git'},
102-
python_requires='>=3.5',
102+
python_requires='>=3.6',
103103
install_requires=requirements,
104104
tests_require=requirements + test_requirements,
105105
zip_safe=False,
@@ -127,6 +127,6 @@ def build_py_modules(basedir, excludes=[]):
127127
"Programming Language :: Python :: 3.6",
128128
"Programming Language :: Python :: 3.7",
129129
"Programming Language :: Python :: 3.8",
130-
"Programming Language :: Python :: 3.9"
130+
"Programming Language :: Python :: 3.9"
131131
]
132132
)

0 commit comments

Comments
 (0)