GeezerVison is showing github.com — Fixes to support Python 2.6 again. by andy-maier · Pull Request #541 · gitpython-developers/GitPython
Fixes to support Python 2.6 again.
#541
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement . We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Uh oh!
There was an error while loading. Please reload this page.
Show file tree
Hide file tree
Changes from all commits
Commits
File filter
Filter by extension
.py
(12)
.txt
(1)
.yml
(2)
All 3 file types selected
Only manifest files
Viewed files
Conversations
Failed to load comments.
Loading
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Jump to file
Failed to load files.
Loading
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Hide whitespace
Diff view
Hide whitespace
There are no files selected for viewing
Original file line number
Diff line number
Diff line change
Expand Up
@@ -7,6 +7,9 @@ environment:
matrix:
## MINGW
#
- PYTHON: "C:\\Python26"
PYTHON_VERSION: "2.6"
GIT_PATH: "%GIT_DAEMON_PATH%"
- PYTHON: "C:\\Python27"
PYTHON_VERSION: "2.7"
GIT_PATH: "%GIT_DAEMON_PATH%"
Expand Down
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,14 @@
language: python
python:
- "2.6"
- "2.7"
- "3.3"
- "3.4"
- "3.5"
# - "pypy" - won't work as smmap doesn't work (see gitdb/.travis.yml for details)
#matrix:
# allow_failures:
# - python: "2.6"
git:
# a higher depth is needed for most of the tests - must be high enough to not actually be shallow
# as we clone our own repository in the process
Expand All
@@ -15,6 +19,7 @@ install:
- git fetch --tags
- pip install -r test-requirements.txt
- pip install codecov sphinx
- if [ "$TRAVIS_PYTHON_VERSION" == '2.6' ]; then pip install unittest2; fi
# generate some reflog as git-python tests need it (in master)
- ./init-tests-after-clone.sh
Expand Down
14 changes: 9 additions & 5 deletions
14
git/cmd.py
Original file line number
Diff line number
Diff line change
Expand Up
@@ -139,9 +139,9 @@ def dict_to_slots_and__excluded_are_none(self, d, excluded=()):
CREATE_NO_WINDOW = 0x08000000
## CREATE_NEW_PROCESS_GROUP is needed to allow killing it afterwards,
# seehttps ://docs.python.org/3/library/subprocess.html#subprocess.Popen.send_signal
# see https ://docs.python.org/3/library/subprocess.html#subprocess.Popen.send_signal
PROC_CREATIONFLAGS = (CREATE_NO_WINDOW | subprocess.CREATE_NEW_PROCESS_GROUP
if is_win
if is_win and sys.version_info >= (2, 7)
else 0)
Expand Down
Expand Up
@@ -245,7 +245,7 @@ def __del__(self):
return
# can be that nothing really exists anymore ...
if os is None or os. kill is None:
if os is None or getattr(os, ' kill', None) is None:
return
# try to kill it
Expand Down
Expand Up
@@ -831,8 +831,12 @@ def _call_process(self, method, *args, **kwargs):
:return: Same as ``execute``"""
# Handle optional arguments prior to calling transform_kwargs
# otherwise these'll end up in args, which is bad.
_kwargs = {k: v for k, v in kwargs.items() if k in execute_kwargs}
kwargs = {k: v for k, v in kwargs.items() if k not in execute_kwargs}
_kwargs = dict()
Comment thread
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more .
Can you replace it with this more pythonic and quicker to follow (in debug-mode also) code?
_kwargs = dict (k , v ) for k , v in kwargs .items () if k in execute_kwargs )
kwargs = dict ((k , v ) for k , v in kwargs .items () if k not in execute_kwargs )
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
for kwarg in execute_kwargs:
try:
_kwargs[kwarg] = kwargs.pop(kwarg)
except KeyError:
pass
insert_after_this_arg = kwargs.pop('insert_kwargs_after', None)
Expand Down
Original file line number
Diff line number
Diff line change
Expand Up
@@ -3,7 +3,10 @@
import logging
import os
import stat
from unittest.case import SkipTest
try:
from unittest import SkipTest
except ImportError:
from unittest2 import SkipTest
import uuid
import git
Expand Down
Original file line number
Diff line number
Diff line change
Expand Up
@@ -7,20 +7,24 @@
import contextlib
from functools import wraps
import sys
import io
import logging
import os
import tempfile
import textwrap
import time
from unittest import TestCase
import unittest
from git.compat import string_types, is_win, PY3
from git.compat import string_types, is_win
from git.util import rmtree, cwd
import os.path as osp
if sys.version_info[0:2] == (2, 6):
import unittest2 as unittest
else:
import unittest
TestCase = unittest.TestCase
ospd = osp.dirname
Expand Down
Expand Up
@@ -335,8 +339,11 @@ class TestBase(TestCase):
of the project history ( to assure tests don't fail for others ).
"""
if not PY3:
assertRaisesRegex = unittest.TestCase.assertRaisesRegexp
# On py26, unittest2 has assertRaisesRegex
# On py3, unittest has assertRaisesRegex
# On py27, we use unittest, which names it differently:
if sys.version_info[0:2] == (2, 7):
assertRaisesRegex = TestCase.assertRaisesRegexp
def _small_repo_url(self):
""":return" a path to a small, clonable repository"""
Expand Down
Original file line number
Diff line number
Diff line change
Expand Up
@@ -7,7 +7,10 @@
import os
import sys
import tempfile
from unittest import skipIf
try:
from unittest import SkipTest, skipIf
except ImportError:
from unittest2 import SkipTest, skipIf
from git import (
Blob,
Expand Down
Expand Up
@@ -131,7 +134,6 @@ def test_add_unicode(self, rw_repo):
try:
file_path.encode(sys.getfilesystemencoding())
except UnicodeEncodeError:
from unittest import SkipTest
raise SkipTest("Environment doesn't support unicode filenames")
with open(file_path, "wb") as fp:
Expand Down
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,9 @@
from io import BytesIO
from stat import S_IFDIR, S_IFREG, S_IFLNK
from unittest.case import skipIf
try:
from unittest import skipIf
except ImportError:
from unittest2 import skipIf
from git.compat import PY3
from git.index import IndexFile
Expand Down
Original file line number
Diff line number
Diff line change
Expand Up
@@ -13,7 +13,10 @@
)
import sys
import tempfile
from unittest.case import skipIf
try:
from unittest import skipIf
except ImportError:
from unittest2 import skipIf
from git import (
IndexFile,
Expand Down
Expand Up
@@ -149,8 +152,9 @@ def add_bad_blob():
except Exception as ex:
msg_py3 = "required argument is not an integer"
msg_py2 = "cannot convert argument to integer"
## msg_py26 ="unsupported operand type(s) for &: 'str' and 'long'"
assert msg_py2 in str(ex) or msg_py3 in str(ex), str(ex)
msg_py26 = "unsupported operand type(s) for &: 'str' and 'long'"
assert msg_py2 in str(ex) or msg_py3 in str(ex) or \
msg_py26 in str(ex), str(ex)
## 2nd time should not fail due to stray lock file
try:
Expand Down
Original file line number
Diff line number
Diff line change
Expand Up
@@ -6,7 +6,10 @@
import random
import tempfile
from unittest.case import skipIf
try:
from unittest import skipIf
except ImportError:
from unittest2 import skipIf
from git import (
RemoteProgress,
Expand Down
Original file line number
Diff line number
Diff line change
Expand Up
@@ -11,7 +11,10 @@
import pickle
import sys
import tempfile
from unittest.case import skipIf
try:
from unittest import skipIf, SkipTest
except ImportError:
from unittest2 import skipIf, SkipTest
from git import (
InvalidGitRepositoryError,
Expand Down
Expand Up
@@ -53,7 +56,6 @@
from git.util import HIDE_WINDOWS_KNOWN_ERRORS, cygpath
from git.test.lib import with_rw_directory
from git.util import join_path_native, rmtree, rmfile, bin_to_hex
from unittest import SkipTest
import functools as fnt
import os.path as osp
Expand Down
Original file line number
Diff line number
Diff line change
Expand Up
@@ -3,7 +3,10 @@
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
import os
import sys
from unittest.case import skipIf
try:
from unittest import skipIf
except ImportError:
from unittest2 import skipIf
import git
from git.cmd import Git
Expand Down
Original file line number
Diff line number
Diff line change
Expand Up
@@ -6,7 +6,10 @@
from io import BytesIO
import sys
from unittest.case import skipIf
try:
from unittest import skipIf
except ImportError:
from unittest2 import skipIf
from git import (
Tree,
Expand Down
Original file line number
Diff line number
Diff line change
Expand Up
@@ -6,7 +6,11 @@
import tempfile
import time
from unittest.case import skipIf
try:
from unittest import skipIf
except ImportError:
from unittest2 import skipIf
import ddt
Expand Down
Original file line number
Diff line number
Diff line change
Expand Up
@@ -11,11 +11,15 @@
import logging
import os
import platform
import subprocess
import re
import shutil
import stat
import time
from unittest.case import SkipTest
try:
from unittest import SkipTest
except ImportError:
from unittest2 import SkipTest
from gitdb.util import (# NOQA @IgnorePep8
make_sha,
Expand Down
Expand Up
@@ -303,7 +307,7 @@ def is_cygwin_git(git_executable):
if not is_win:
return False
from subprocess import check_output
# from subprocess import check_output
is_cygwin = _is_cygwin_cache.get(git_executable)
if is_cygwin is None:
Expand All
@@ -316,8 +320,11 @@ def is_cygwin_git(git_executable):
## Just a name given, not a real path.
uname_cmd = osp.join(git_dir, 'uname')
uname = check_output(uname_cmd, universal_newlines=True)
is_cygwin = 'CYGWIN' in uname
process = subprocess.Popen([uname_cmd], stdout=subprocess.PIPE,
universal_newlines=True)
uname_out, _ = process.communicate()
#retcode = process.poll()
is_cygwin = 'CYGWIN' in uname_out
except Exception as ex:
log.debug('Failed checking if running in CYGWIN due to: %r', ex)
_is_cygwin_cache[git_executable] = is_cygwin
Expand Down
Original file line number
Diff line number
Diff line change
@@ -1,2 +1,3 @@
gitdb>=0.6.4
ddt>=1.1.1
unittest2; python_version < '2.7'
Comment thread
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more .
Can you modify also setup.py and test-requirements.txt?
if sys .version_info [:2 ] < (2 , 6 ):
test_requires .append ('unittest2' )
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.