Repository: gitpython-developers/GitPython
Pull request #968 (2019-12-13 16:25:49)

Fix Repo.__repr__ when subclassed

Byron: Thanks for your contribution! It looks like travis failed, could you have a look?
Usually I would link the exact line of failure here, but it seems I can't access travis-ci right now.
My guess is that `git_dir` can't always be used safely.
yaccz: @Byron fixed.
yaccz: I do not know why AppVeyor is failing. It does not seem related to my changes.

Patch:
diff --git a/AUTHORS b/AUTHORS
index 04e4bb0d..d8ebb76b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -38,5 +38,6 @@ Contributors are:
 -JJ Graham <thetwoj _at_ gmail.com>
 -Ben Thayer <ben _at_ benthayer.com>
 -Dries Kennes <admin _at_ dries007.net>
-
+-Pratik Anurag <panurag247365 _at_ gmail.com>
+-Harmon <harmon.public _at_ gmail.com>
 Portions derived from other open source works and are clearly marked.
diff --git a/Dockerfile b/Dockerfile
index fc42f18f..c88f9991 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,7 +6,11 @@
 #
 
 FROM ubuntu:xenial
-MAINTAINER James E. King III <jking@apache.org>
+
+# Metadata
+LABEL maintainer="jking@apache.org"
+LABEL description="CI enviroment for testing GitPython"
+
 ENV CONTAINER_USER=user
 ENV DEBIAN_FRONTEND noninteractive
 
diff --git a/Makefile b/Makefile
index ae74a0d8..c963dd7e 100644
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@ release: clean
 force_release: clean
 	git push --tags origin master
 	python3 setup.py sdist bdist_wheel
-	twine upload -s -i byronimo@gmail.com dist/*
+	twine upload -s -i 763629FEC8788FC35128B5F6EE029D1E5EB40300 dist/*
 
 docker-build:
 	docker build --quiet -t gitpython:xenial -f Dockerfile .
diff --git a/README.md b/README.md
index a2b53c8d..368f386f 100644
--- a/README.md
+++ b/README.md
@@ -64,9 +64,7 @@ separate process which can be dropped periodically.
 
 #### Windows support
 
-For *Windows*, we do regularly test it on [Appveyor CI](https://www.appveyor.com/)
-but not all test-cases pass - you may help improve them by exploring
-[Issue #525](https://github.com/gitpython-developers/GitPython/issues/525).
+See [Issue #525](https://github.com/gitpython-developers/GitPython/issues/525).
 
 ### RUNNING TESTS
 
@@ -190,7 +188,6 @@ New BSD License.  See the LICENSE file.
 
 [![codecov](https://codecov.io/gh/gitpython-developers/GitPython/branch/master/graph/badge.svg)](https://codecov.io/gh/gitpython-developers/GitPython)
 [![Build Status](https://travis-ci.org/gitpython-developers/GitPython.svg)](https://travis-ci.org/gitpython-developers/GitPython)
-[![Build status](https://ci.appveyor.com/api/projects/status/0f3pi3c00hajlrsd/branch/master?svg=true&passingText=windows%20OK&failingText=windows%20failed)](https://ci.appveyor.com/project/Byron/gitpython/branch/master)
 [![Code Climate](https://codeclimate.com/github/gitpython-developers/GitPython/badges/gpa.svg)](https://codeclimate.com/github/gitpython-developers/GitPython)
 [![Documentation Status](https://readthedocs.org/projects/gitpython/badge/?version=stable)](https://readthedocs.org/projects/gitpython/?badge=stable)
 [![Stories in Ready](https://badge.waffle.io/gitpython-developers/GitPython.png?label=ready&title=Ready)](https://waffle.io/gitpython-developers/GitPython)
diff --git a/VERSION b/VERSION
index eca690e7..2451c27c 100644
--- a/VERSION
+++ b/VERSION
@@ -1,1 +1,1 @@
-3.0.5
+3.0.7
diff --git a/doc/source/changes.rst b/doc/source/changes.rst
index 66fd698c..953a79b4 100644
--- a/doc/source/changes.rst
+++ b/doc/source/changes.rst
@@ -2,6 +2,26 @@
 Changelog
 =========
 
+3.0.7 - Bugfixes
+=================================================
+
+* removes python 2 compatibility shims, making GitPython a pure Python 3 library
+  with all of the python related legacy removed.
+* Have a look at the PR, it is a good read on the mistakes made in the course of this,
+  https://github.com/gitpython-developers/GitPython/pull/979 , please help the maintainers
+  if you can to prevent accidents like these in future.
+
+see the following for details:
+https://github.com/gitpython-developers/gitpython/milestone/33?closed=1
+
+
+3.0.6 - Bugfixes - unsigned/partial - do not use
+=================================================
+
+There was an issue with my setup, so things managed to slip to pypi without a signature.
+
+Use 3.0.7 instead.
+
 3.0.5 - Bugfixes
 =============================================
 
diff --git a/git/cmd.py b/git/cmd.py
index 08e25af5..e87a3b80 100644
--- a/git/cmd.py
+++ b/git/cmd.py
@@ -21,12 +21,8 @@ from collections import OrderedDict
 from textwrap import dedent
 
 from git.compat import (
-    string_types,
     defenc,
     force_bytes,
-    PY3,
-    # just to satisfy flake8 on py3
-    unicode,
     safe_decode,
     is_posix,
     is_win,
@@ -43,11 +39,6 @@ from .util import (
     stream_copy,
 )
 
-try:
-    PermissionError
-except NameError:  # Python < 3.3
-    PermissionError = OSError
-
 execute_kwargs = {'istream', 'with_extended_output',
                   'with_exceptions', 'as_process', 'stdout_as_string',
                   'output_stream', 'with_stdout', 'kill_after_timeout',
@@ -918,18 +909,12 @@ class Git(LazyMixin):
     @classmethod
     def __unpack_args(cls, arg_list):
         if not isinstance(arg_list, (list, tuple)):
-            # This is just required for unicode conversion, as subprocess can't handle it
-            # However, in any other case, passing strings (usually utf-8 encoded) is totally fine
-            if not PY3 and isinstance(arg_list, unicode):
-                return [arg_list.encode(defenc)]
             return [str(arg_list)]
 
         outlist = []
         for arg in arg_list:
             if isinstance(arg_list, (list, tuple)):
                 outlist.extend(cls.__unpack_args(arg))
-            elif not PY3 and isinstance(arg_list, unicode):
-                outlist.append(arg_list.encode(defenc))
             # END recursion
             else:
                 outlist.append(str(arg))
@@ -1047,7 +1032,7 @@ class Git(LazyMixin):
         if isinstance(ref, bytes):
             # Assume 40 bytes hexsha - bin-to-ascii for some reason returns bytes, not text
             refstr = ref.decode('ascii')
-        elif not isinstance(ref, string_types):
+        elif not isinstance(ref, str):
             refstr = str(ref)               # could be ref-object
 
         if not refstr.endswith("\n"):
diff --git a/git/compat.py b/git/compat.py
index e88ca9b5..de8a238b 100644
--- a/git/compat.py
+++ b/git/compat.py
@@ -10,66 +10,23 @@
 import locale
 import os
 import sys
-import codecs
 
 
-from gitdb.utils.compat import (
-    xrange,
-    MAXSIZE,    # @UnusedImport
-    izip,       # @UnusedImport
-)
 from gitdb.utils.encoding import (
-    string_types,    # @UnusedImport
-    text_type,       # @UnusedImport
     force_bytes,     # @UnusedImport
     force_text       # @UnusedImport
 )
 
 
-PY3 = sys.version_info[0] >= 3
 is_win = (os.name == 'nt')
 is_posix = (os.name == 'posix')
 is_darwin = (os.name == 'darwin')
-if hasattr(sys, 'getfilesystemencoding'):
-    defenc = sys.getfilesystemencoding()
-if defenc is None:
-    defenc = sys.getdefaultencoding()
-
-if PY3:
-    import io
-    FileType = io.IOBase
-
-    def byte_ord(b):
-        return b
-
-    def bchr(n):
-        return bytes([n])
-
-    def mviter(d):
-        return d.values()
-
-    range = xrange  # @ReservedAssignment
-    unicode = str
-    binary_type = bytes
-else:
-    FileType = file  # @UndefinedVariable on PY3
-    # usually, this is just ascii, which might not enough for our encoding needs
-    # Unless it's set specifically, we override it to be utf-8
-    if defenc == 'ascii':
-        defenc = 'utf-8'
-    byte_ord = ord
-    bchr = chr
-    unicode = unicode
-    binary_type = str
-    range = xrange  # @ReservedAssignment
-
-    def mviter(d):
-        return d.itervalues()
+defenc = sys.getfilesystemencoding()
 
 
 def safe_decode(s):
     """Safely decodes a binary string to unicode"""
-    if isinstance(s, unicode):
+    if isinstance(s, str):
         return s
     elif isinstance(s, bytes):
         return s.decode(defenc, 'surrogateescape')
@@ -79,7 +36,7 @@ def safe_decode(s):
 
 def safe_encode(s):
     """Safely decodes a binary string to unicode"""
-    if isinstance(s, unicode):
+    if isinstance(s, str):
         return s.encode(defenc)
     elif isinstance(s, bytes):
         return s
@@ -89,7 +46,7 @@ def safe_encode(s):
 
 def win_encode(s):
     """Encode unicodes for process arguments on Windows."""
-    if isinstance(s, unicode):
+    if isinstance(s, str):
         return s.encode(locale.getpreferredencoding(False))
     elif isinstance(s, bytes):
         return s
@@ -106,208 +63,5 @@ def with_metaclass(meta, *bases):
         def __new__(cls, name, nbases, d):
             if nbases is None:
                 return type.__new__(cls, name, (), d)
-            # There may be clients who rely on this attribute to be set to a reasonable value, which is why
-            # we set the __metaclass__ attribute explicitly
-            if not PY3 and '___metaclass__' not in d:
-                d['__metaclass__'] = meta
             return meta(name, bases, d)
     return metaclass(meta.__name__ + 'Helper', None, {})
-
-
-## From https://docs.python.org/3.3/howto/pyporting.html
-class UnicodeMixin(object):
-
-    """Mixin class to handle defining the proper __str__/__unicode__
-    methods in Python 2 or 3."""
-
-    if PY3:
-        def __str__(self):
-            return self.__unicode__()
-    else:  # Python 2
-        def __str__(self):
-            return self.__unicode__().encode(defenc)
-            
-            
-"""
-This is Victor Stinner's pure-Python implementation of PEP 383: the "surrogateescape" error
-handler of Python 3.
-Source: misc/python/surrogateescape.py in https://bitbucket.org/haypo/misc
-"""
-
-# This code is released under the Python license and the BSD 2-clause license
-
-
-FS_ERRORS = 'surrogateescape'
-
-#     # -- Python 2/3 compatibility -------------------------------------
-#     FS_ERRORS = 'my_surrogateescape'
-
-def u(text):
-    if PY3:
-        return text
-    return text.decode('unicode_escape')
-
-def b(data):
-    if PY3:
-        return data.encode('latin1')
-    return data
-
-if PY3:
-    _unichr = chr
-    bytes_chr = lambda code: bytes((code,))
-else:
-    _unichr = unichr
-    bytes_chr = chr
-
-def surrogateescape_handler(exc):
-    """
-    Pure Python implementation of the PEP 383: the "surrogateescape" error
-    handler of Python 3. Undecodable bytes will be replaced by a Unicode
-    character U+DCxx on decoding, and these are translated into the
-    original bytes on encoding.
-    """
-    mystring = exc.object[exc.start:exc.end]
-
-    try:
-        if isinstance(exc, UnicodeDecodeError):
-            # mystring is a byte-string in this case
-            decoded = replace_surrogate_decode(mystring)
-        elif isinstance(exc, UnicodeEncodeError):
-            # In the case of u'\udcc3'.encode('ascii',
-            # 'this_surrogateescape_handler'), both Python 2.x and 3.x raise an
-            # exception anyway after this function is called, even though I think
-            # it's doing what it should. It seems that the strict encoder is called
-            # to encode the unicode string that this function returns ...
-            decoded = replace_surrogate_encode(mystring, exc)
-        else:
-            raise exc
-    except NotASurrogateError:
-        raise exc
-    return (decoded, exc.end)
-
-
-class NotASurrogateError(Exception):
-    pass
-
-
-def replace_surrogate_encode(mystring, exc):
-    """
-    Returns a (unicode) string, not the more logical bytes, because the codecs
-    register_error functionality expects this.
-    """
-    decoded = []
-    for ch in mystring:
-        # if PY3:
-        #     code = ch
-        # else:
-        code = ord(ch)
-
-        # The following magic comes from Py3.3's Python/codecs.c file:
-        if not 0xD800 <= code <= 0xDCFF:
-            # Not a surrogate. Fail with the original exception.
-            raise exc
-        # mybytes = [0xe0 | (code >> 12),
-        #            0x80 | ((code >> 6) & 0x3f),
-        #            0x80 | (code & 0x3f)]
-        # Is this a good idea?
-        if 0xDC00 <= code <= 0xDC7F:
-            decoded.append(_unichr(code - 0xDC00))
-        elif code <= 0xDCFF:
-            decoded.append(_unichr(code - 0xDC00))
-        else:
-            raise NotASurrogateError
-    return str().join(decoded)
-
-
-def replace_surrogate_decode(mybytes):
-    """
-    Returns a (unicode) string
-    """
-    decoded = []
-    for ch in mybytes:
-        # We may be parsing newbytes (in which case ch is an int) or a native
-        # str on Py2
-        if isinstance(ch, int):
-            code = ch
-        else:
-            code = ord(ch)
-        if 0x80 <= code <= 0xFF:
-            decoded.append(_unichr(0xDC00 + code))
-        elif code <= 0x7F:
-            decoded.append(_unichr(code))
-        else:
-            # # It may be a bad byte
-            # # Try swallowing it.
-            # continue
-            # print("RAISE!")
-            raise NotASurrogateError
-    return str().join(decoded)
-
-
-def encodefilename(fn):
-    if FS_ENCODING == 'ascii':
-        # ASCII encoder of Python 2 expects that the error handler returns a
-        # Unicode string encodable to ASCII, whereas our surrogateescape error
-        # handler has to return bytes in 0x80-0xFF range.
-        encoded = []
-        for index, ch in enumerate(fn):
-            code = ord(ch)
-            if code < 128:
-                ch = bytes_chr(code)
-            elif 0xDC80 <= code <= 0xDCFF:
-                ch = bytes_chr(code - 0xDC00)
-            else:
-                raise UnicodeEncodeError(FS_ENCODING,
-                    fn, index, index+1,
-                    'ordinal not in range(128)')
-            encoded.append(ch)
-        return bytes().join(encoded)
-    elif FS_ENCODING == 'utf-8':
-        # UTF-8 encoder of Python 2 encodes surrogates, so U+DC80-U+DCFF
-        # doesn't go through our error handler
-        encoded = []
-        for index, ch in enumerate(fn):
-            code = ord(ch)
-            if 0xD800 <= code <= 0xDFFF:
-                if 0xDC80 <= code <= 0xDCFF:
-                    ch = bytes_chr(code - 0xDC00)
-                    encoded.append(ch)
-                else:
-                    raise UnicodeEncodeError(
-                        FS_ENCODING,
-                        fn, index, index+1, 'surrogates not allowed')
-            else:
-                ch_utf8 = ch.encode('utf-8')
-                encoded.append(ch_utf8)
-        return bytes().join(encoded)
-    return fn.encode(FS_ENCODING, FS_ERRORS)
-
-def decodefilename(fn):
-    return fn.decode(FS_ENCODING, FS_ERRORS)
-
-FS_ENCODING = 'ascii'; fn = b('[abc\xff]'); encoded = u('[abc\udcff]')
-# FS_ENCODING = 'cp932'; fn = b('[abc\x81\x00]'); encoded = u('[abc\udc81\x00]')
-# FS_ENCODING = 'UTF-8'; fn = b('[abc\xff]'); encoded = u('[abc\udcff]')
-
-
-# normalize the filesystem encoding name.
-# For example, we expect "utf-8", not "UTF8".
-FS_ENCODING = codecs.lookup(FS_ENCODING).name
-
-
-def register_surrogateescape():
-    """
-    Registers the surrogateescape error handler on Python 2 (only)
-    """
-    if PY3:
-        return
-    try:
-        codecs.lookup_error(FS_ERRORS)
-    except LookupError:
-        codecs.register_error(FS_ERRORS, surrogateescape_handler)
-
-
-try:
-    b"100644 \x9f\0aaa".decode(defenc, "surrogateescape")
-except Exception:
-    register_surrogateescape()
diff --git a/git/config.py b/git/config.py
index 762069c7..43f854f2 100644
--- a/git/config.py
+++ b/git/config.py
@@ -9,30 +9,23 @@ configuration files"""
 import abc
 from functools import wraps
 import inspect
+from io import IOBase
 import logging
 import os
 import re
 from collections import OrderedDict
 
 from git.compat import (
-    string_types,
-    FileType,
     defenc,
     force_text,
     with_metaclass,
-    PY3,
     is_win,
 )
 from git.util import LockFile
 
 import os.path as osp
 
-
-try:
-    import ConfigParser as cp
-except ImportError:
-    # PY3
-    import configparser as cp
+import configparser as cp
 
 
 __all__ = ('GitConfigParser', 'SectionConstraint')
@@ -303,7 +296,7 @@ class GitConfigParser(with_metaclass(MetaParserBuilder, cp.RawConfigParser, obje
                 # END single file check
 
                 file_or_files = self._file_or_files
-                if not isinstance(self._file_or_files, string_types):
+                if not isinstance(self._file_or_files, str):
                     file_or_files = self._file_or_files.name
                 # END get filename from handle/stream
                 # initialize lock base - we want to write
@@ -372,9 +365,7 @@ class GitConfigParser(with_metaclass(MetaParserBuilder, cp.RawConfigParser, obje
                 v = v[:-1]
             # end cut trailing escapes to prevent decode error
 
-            if PY3:
-                return v.encode(defenc).decode('unicode_escape')
-            return v.decode('string_escape')
+            return v.encode(defenc).decode('unicode_escape')
             # end
         # end
 
@@ -581,7 +572,7 @@ class GitConfigParser(with_metaclass(MetaParserBuilder, cp.RawConfigParser, obje
         fp = self._file_or_files
 
         # we have a physical file on disk, so get a lock
-        is_file_lock = isinstance(fp, string_types + (FileType, ))
+        is_file_lock = isinstance(fp, (str, IOBase))
         if is_file_lock:
             self._lock._obtain_lock()
         if not hasattr(fp, "seek"):
@@ -673,7 +664,7 @@ class GitConfigParser(with_metaclass(MetaParserBuilder, cp.RawConfigParser, obje
         if vl == 'true':
             return True
 
-        if not isinstance(valuestr, string_types):
+        if not isinstance(valuestr, str):
             raise TypeError(
                 "Invalid value type: only int, long, float and str are allowed",
                 valuestr)
diff --git a/git/diff.py b/git/diff.py
index 7a06f3a1..567e3e70 100644
--- a/git/diff.py
+++ b/git/diff.py
@@ -6,13 +6,9 @@
 import re
 
 from git.cmd import handle_process_output
-from git.compat import (
-    defenc,
-    PY3
-)
+from git.compat import defenc
 from git.util import finalize_process, hex_to_bin
 
-from .compat import binary_type
 from .objects.blob import Blob
 from .objects.util import mode_str_to_int
 
@@ -28,10 +24,7 @@ _octal_byte_re = re.compile(b'\\\\([0-9]{3})')
 def _octal_repl(matchobj):
     value = matchobj.group(1)
     value = int(value, 8)
-    if PY3:
-        value = bytes(bytearray((value,)))
-    else:
-        value = chr(value)
+    value = bytes(bytearray((value,)))
     return value
 
 
@@ -268,8 +261,8 @@ class Diff(object):
         self.a_mode = a_mode
         self.b_mode = b_mode
 
-        assert a_rawpath is None or isinstance(a_rawpath, binary_type)
-        assert b_rawpath is None or isinstance(b_rawpath, binary_type)
+        assert a_rawpath is None or isinstance(a_rawpath, bytes)
+        assert b_rawpath is None or isinstance(b_rawpath, bytes)
         self.a_rawpath = a_rawpath
         self.b_rawpath = b_rawpath
 
@@ -302,8 +295,8 @@ class Diff(object):
         self.copied_file = copied_file
 
         # be clear and use None instead of empty strings
-        assert raw_rename_from is None or isinstance(raw_rename_from, binary_type)
-        assert raw_rename_to is None or isinstance(raw_rename_to, binary_type)
+        assert raw_rename_from is None or isinstance(raw_rename_from, bytes)
+        assert raw_rename_to is None or isinstance(raw_rename_to, bytes)
         self.raw_rename_from = raw_rename_from or None
         self.raw_rename_to = raw_rename_to or None
 
@@ -370,8 +363,6 @@ class Diff(object):
         # Python2 silliness: have to assure we convert our likely to be unicode object to a string with the
         # right encoding. Otherwise it tries to convert it using ascii, which may fail ungracefully
         res = h + msg
-        if not PY3:
-            res = res.encode(defenc)
         # end
         return res
 
diff --git a/git/exc.py b/git/exc.py
index 1c4d5005..f75ec5c9 100644
--- a/git/exc.py
+++ b/git/exc.py
@@ -6,7 +6,7 @@
 """ Module containing all exceptions thrown throughout the git package, """
 
 from gitdb.exc import *     # NOQA @UnusedWildImport skipcq: PYL-W0401, PYL-W0614
-from git.compat import UnicodeMixin, safe_decode, string_types
+from git.compat import safe_decode
 
 
 class GitError(Exception):
@@ -25,7 +25,7 @@ class NoSuchPathError(GitError, OSError):
     """ Thrown if a path could not be access by the system. """
 
 
-class CommandError(UnicodeMixin, GitError):
+class CommandError(GitError):
     """Base class for exceptions thrown at every stage of `Popen()` execution.
 
     :param command:
@@ -50,7 +50,7 @@ class CommandError(UnicodeMixin, GitError):
                     status = u'exit code(%s)' % int(status)
                 except (ValueError, TypeError):
                     s = safe_decode(str(status))
-                    status = u"'%s'" % s if isinstance(status, string_types) else s
+                    status = u"'%s'" % s if isinstance(status, str) else s
 
         self._cmd = safe_decode(command[0])
         self._cmdline = u' '.join(safe_decode(i) for i in command)
@@ -58,7 +58,7 @@ class CommandError(UnicodeMixin, GitError):
         self.stdout = stdout and u"\n  stdout: '%s'" % safe_decode(stdout) or ''
         self.stderr = stderr and u"\n  stderr: '%s'" % safe_decode(stderr) or ''
 
-    def __unicode__(self):
+    def __str__(self):
         return (self._msg + "\n  cmdline: %s%s%s") % (
             self._cmd, self._cause, self._cmdline, self.stdout, self.stderr)
 
diff --git a/git/index/base.py b/git/index/base.py
index b8c9d5e6..8ff0f982 100644
--- a/git/index/base.py
+++ b/git/index/base.py
@@ -11,12 +11,8 @@ import subprocess
 import tempfile
 
 from git.compat import (
-    izip,
-    xrange,
-    string_types,
     force_bytes,
     defenc,
-    mviter,
 )
 from git.exc import (
     GitCommandError,
@@ -272,8 +268,8 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
 
         inst = cls(repo)
         # convert to entries dict
-        entries = dict(izip(((e.path, e.stage) for e in base_entries),
-                            (IndexEntry.from_base(e) for e in base_entries)))
+        entries = dict(zip(((e.path, e.stage) for e in base_entries),
+                           (IndexEntry.from_base(e) for e in base_entries)))
 
         inst.entries = entries
         return inst
@@ -442,7 +438,7 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
             Function(t) returning True if tuple(stage, Blob) should be yielded by the
             iterator. A default filter, the BlobFilter, allows you to yield blobs
             only if they match a given list of paths. """
-        for entry in mviter(self.entries):
+        for entry in self.entries.values():
             blob = entry.to_blob(self.repo)
             blob.size = entry.size
             output = (entry.stage, blob)
@@ -467,7 +463,7 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
         for stage, blob in self.iter_blobs(is_unmerged_blob):
             path_map.setdefault(blob.path, []).append((stage, blob))
         # END for each unmerged blob
-        for l in mviter(path_map):
+        for l in path_map.values():
             l.sort()
         return path_map
 
@@ -574,7 +570,7 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
             items = [items]
 
         for item in items:
-            if isinstance(item, string_types):
+            if isinstance(item, str):
                 paths.append(self._to_relative_path(item))
             elif isinstance(item, (Blob, Submodule)):
                 entries.append(BaseIndexEntry.from_blob(item))
@@ -811,7 +807,7 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
         for item in items:
             if isinstance(item, (BaseIndexEntry, (Blob, Submodule))):
                 paths.append(self._to_relative_path(item.path))
-            elif isinstance(item, string_types):
+            elif isinstance(item, str):
                 paths.append(self._to_relative_path(item))
             else:
                 raise TypeError("Invalid item type: %r" % item)
@@ -913,7 +909,7 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
 
         # parse result - first 0:n/2 lines are 'checking ', the remaining ones
         # are the 'renaming' ones which we parse
-        for ln in xrange(int(len(mvlines) / 2), len(mvlines)):
+        for ln in range(int(len(mvlines) / 2), len(mvlines)):
             tokens = mvlines[ln].split(' to ')
             assert len(tokens) == 2, "Too many tokens in %s" % mvlines[ln]
 
@@ -1086,11 +1082,11 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
             proc = self.repo.git.checkout_index(*args, **kwargs)
             proc.wait()
             fprogress(None, True, None)
-            rval_iter = (e.path for e in mviter(self.entries))
+            rval_iter = (e.path for e in self.entries.values())
             handle_stderr(proc, rval_iter)
             return rval_iter
         else:
-            if isinstance(paths, string_types):
+            if isinstance(paths, str):
                 paths = [paths]
 
             # make sure we have our entries loaded before we start checkout_index
@@ -1117,7 +1113,7 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
                     folder = co_path
                     if not folder.endswith('/'):
                         folder += '/'
-                    for entry in mviter(self.entries):
+                    for entry in self.entries.values():
                         if entry.path.startswith(folder):
                             p = entry.path
                             self._write_path_to_stdin(proc, p, p, make_exc,
@@ -1227,7 +1223,7 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
         # index against anything but None is a reverse diff with the respective
         # item. Handle existing -R flags properly. Transform strings to the object
         # so that we can call diff on it
-        if isinstance(other, string_types):
+        if isinstance(other, str):
             other = self.repo.rev_parse(other)
         # END object conversion
 
diff --git a/git/index/fun.py b/git/index/fun.py
index 5906a358..c6337909 100644
--- a/git/index/fun.py
+++ b/git/index/fun.py
@@ -15,12 +15,10 @@ import subprocess
 
 from git.cmd import PROC_CREATIONFLAGS, handle_process_output
 from git.compat import (
-    PY3,
     defenc,
     force_text,
     force_bytes,
     is_posix,
-    safe_encode,
     safe_decode,
 )
 from git.exc import (
@@ -73,7 +71,7 @@ def run_commit_hook(name, index, *args):
         return
 
     env = os.environ.copy()
-    env['GIT_INDEX_FILE'] = safe_decode(index.path) if PY3 else safe_encode(index.path)
+    env['GIT_INDEX_FILE'] = safe_decode(index.path)
     env['GIT_EDITOR'] = ':'
     try:
         cmd = subprocess.Popen([hp] + list(args),
diff --git a/git/objects/commit.py b/git/objects/commit.py
index f7201d90..8a84dd69 100644
--- a/git/objects/commit.py
+++ b/git/objects/commit.py
@@ -24,7 +24,6 @@ from .util import (
     parse_actor_and_date,
     from_timestamp,
 )
-from git.compat import text_type
 
 from time import (
     time,
@@ -436,7 +435,7 @@ class Commit(base.Object, Iterable, Diffable, Traversable, Serializable):
         write(b"\n")
 
         # write plain bytes, be sure its encoded according to our encoding
-        if isinstance(self.message, text_type):
+        if isinstance(self.message, str):
             write(self.message.encode(self.encoding))
         else:
             write(self.message)
diff --git a/git/objects/fun.py b/git/objects/fun.py
index dc879fd2..9b36712e 100644
--- a/git/objects/fun.py
+++ b/git/objects/fun.py
@@ -1,12 +1,8 @@
 """Module with functions which are supposed to be as fast as possible"""
 from stat import S_ISDIR
 from git.compat import (
-    byte_ord,
     safe_decode,
-    defenc,
-    xrange,
-    text_type,
-    bchr
+    defenc
 )
 
 __all__ = ('tree_to_stream', 'tree_entries_from_data', 'traverse_trees_recursive',
@@ -22,12 +18,12 @@ def tree_to_stream(entries, write):
 
     for binsha, mode, name in entries:
         mode_str = b''
-        for i in xrange(6):
-            mode_str = bchr(((mode >> (i * 3)) & bit_mask) + ord_zero) + mode_str
+        for i in range(6):
+            mode_str = bytes([((mode >> (i * 3)) & bit_mask) + ord_zero]) + mode_str
         # END for each 8 octal value
 
         # git slices away the first octal if its zero
-        if byte_ord(mode_str[0]) == ord_zero:
+        if mode_str[0] == ord_zero:
             mode_str = mode_str[1:]
         # END save a byte
 
@@ -36,7 +32,7 @@ def tree_to_stream(entries, write):
         # hence we must convert to an utf8 string for it to work properly.
         # According to my tests, this is exactly what git does, that is it just
         # takes the input literally, which appears to be utf8 on linux.
-        if isinstance(name, text_type):
+        if isinstance(name, str):
             name = name.encode(defenc)
         write(b''.join((mode_str, b' ', name, b'\0', binsha)))
     # END for each item
@@ -57,10 +53,10 @@ def tree_entries_from_data(data):
         # read mode
         # Some git versions truncate the leading 0, some don't
         # The type will be extracted from the mode later
-        while byte_ord(data[i]) != space_ord:
+        while data[i] != space_ord:
             # move existing mode integer up one level being 3 bits
             # and add the actual ordinal value of the character
-            mode = (mode << 3) + (byte_ord(data[i]) - ord_zero)
+            mode = (mode << 3) + (data[i] - ord_zero)
             i += 1
         # END while reading mode
 
@@ -70,7 +66,7 @@ def tree_entries_from_data(data):
         # parse name, it is NULL separated
 
         ns = i
-        while byte_ord(data[i]) != 0:
+        while data[i] != 0:
             i += 1
         # END while not reached NULL
 
diff --git a/git/objects/submodule/base.py b/git/objects/submodule/base.py
index 04ca0221..97973a57 100644
--- a/git/objects/submodule/base.py
+++ b/git/objects/submodule/base.py
@@ -9,7 +9,6 @@ import uuid
 import git
 from git.cmd import Git
 from git.compat import (
-    string_types,
     defenc,
     is_win,
 )
@@ -110,7 +109,7 @@ class Submodule(IndexObject, Iterable, Traversable):
         if url is not None:
             self._url = url
         if branch_path is not None:
-            assert isinstance(branch_path, string_types)
+            assert isinstance(branch_path, str)
             self._branch_path = branch_path
         if name is not None:
             self._name = name
diff --git a/git/objects/tree.py b/git/objects/tree.py
index d6134e30..469e5395 100644
--- a/git/objects/tree.py
+++ b/git/objects/tree.py
@@ -11,17 +11,13 @@ from . import util
 from .base import IndexObject
 from .blob import Blob
 from .submodule.base import Submodule
-from git.compat import string_types
 
 from .fun import (
     tree_entries_from_data,
     tree_to_stream
 )
 
-from git.compat import PY3
-
-if PY3:
-    cmp = lambda a, b: (a > b) - (a < b)
+cmp = lambda a, b: (a > b) - (a < b)
 
 __all__ = ("TreeModifier", "Tree")
 
@@ -293,7 +289,7 @@ class Tree(IndexObject, diff.Diffable, util.Traversable, util.Serializable):
             info = self._cache[item]
             return self._map_id_to_type[info[1] >> 12](self.repo, info[0], info[1], join_path(self.path, info[2]))
 
-        if isinstance(item, string_types):
+        if isinstance(item, str):
             # compatibility
             return self.join(item)
         # END index is basestring
diff --git a/git/refs/log.py b/git/refs/log.py
index 432232ac..965b26c7 100644
--- a/git/refs/log.py
+++ b/git/refs/log.py
@@ -1,12 +1,7 @@
 import re
 import time
 
-from git.compat import (
-    PY3,
-    xrange,
-    string_types,
-    defenc
-)
+from git.compat import defenc
 from git.objects.util import (
     parse_date,
     Serializable,
@@ -36,12 +31,7 @@ class RefLogEntry(tuple):
 
     def __repr__(self):
         """Representation of ourselves in git reflog format"""
-        res = self.format()
-        if PY3:
-            return res
-        # repr must return a string, which it will auto-encode from unicode using the default encoding.
-        # This usually fails, so we encode ourselves
-        return res.encode(defenc)
+        return self.format()
 
     def format(self):
         """:return: a string suitable to be placed in a reflog file"""
@@ -192,7 +182,7 @@ class RefLog(list, Serializable):
         :param stream: file-like object containing the revlog in its native format
             or basestring instance pointing to a file to read"""
         new_entry = RefLogEntry.from_line
-        if isinstance(stream, string_types):
+        if isinstance(stream, str):
             stream = file_contents_ro_filepath(stream)
         # END handle stream type
         while True:
@@ -220,7 +210,7 @@ class RefLog(list, Serializable):
             if index < 0:
                 return RefLogEntry.from_line(fp.readlines()[index].strip())
             # read until index is reached
-            for i in xrange(index + 1):
+            for i in range(index + 1):
                 line = fp.readline()
                 if not line:
                     break
diff --git a/git/refs/symbolic.py b/git/refs/symbolic.py
index 766037c1..4784197c 100644
--- a/git/refs/symbolic.py
+++ b/git/refs/symbolic.py
@@ -1,9 +1,6 @@
 import os
 
-from git.compat import (
-    string_types,
-    defenc
-)
+from git.compat import defenc
 from git.objects import Object, Commit
 from git.util import (
     join_path,
@@ -300,7 +297,7 @@ class SymbolicReference(object):
         elif isinstance(ref, Object):
             obj = ref
             write_value = ref.hexsha
-        elif isinstance(ref, string_types):
+        elif isinstance(ref, str):
             try:
                 obj = self.repo.rev_parse(ref + "^{}")    # optionally deref tags
                 write_value = obj.hexsha
diff --git a/git/repo/base.py b/git/repo/base.py
index 05c55edd..df0c3eaa 100644
--- a/git/repo/base.py
+++ b/git/repo/base.py
@@ -4,7 +4,6 @@
 # This module is part of GitPython and is released under
 # the BSD License: http://www.opensource.org/licenses/bsd-license.php
 
-from builtins import str
 from collections import namedtuple
 import logging
 import os
@@ -16,11 +15,8 @@ from git.cmd import (
     handle_process_output
 )
 from git.compat import (
-    text_type,
     defenc,
-    PY3,
     safe_decode,
-    range,
     is_win,
 )
 from git.config import GitConfigParser
@@ -479,7 +475,7 @@ class Repo(object):
         :return: ``git.Commit``"""
         if rev is None:
             return self.head.commit
-        return self.rev_parse(text_type(rev) + "^0")
+        return self.rev_parse(str(rev) + "^0")
 
     def iter_trees(self, *args, **kwargs):
         """:return: Iterator yielding Tree objects
@@ -501,7 +497,7 @@ class Repo(object):
             operations might have unexpected results."""
         if rev is None:
             return self.head.commit.tree
-        return self.rev_parse(text_type(rev) + "^{tree}")
+        return self.rev_parse(str(rev) + "^{tree}")
 
     def iter_commits(self, rev=None, paths='', **kwargs):
         """A list of Commit objects representing the history of a given ref/commit
@@ -693,11 +689,8 @@ class Repo(object):
             # Special characters are escaped
             if filename[0] == filename[-1] == '"':
                 filename = filename[1:-1]
-                if PY3:
-                    # WHATEVER ... it's a mess, but works for me
-                    filename = filename.encode('ascii').decode('unicode_escape').encode('latin1').decode(defenc)
-                else:
-                    filename = filename.decode('string_escape').decode(defenc)
+                # WHATEVER ... it's a mess, but works for me
+                filename = filename.encode('ascii').decode('unicode_escape').encode('latin1').decode(defenc)
             untracked_files.append(filename)
         finalize_process(proc)
         return untracked_files
@@ -1064,7 +1057,8 @@ class Repo(object):
     rev_parse = rev_parse
 
     def __repr__(self):
-        return '<git.Repo "%s">' % self.git_dir
+        clazz = self.__class__
+        return '<%s.%s %r>' % (clazz.__module__, clazz.__name__, self.git_dir)
 
     def currently_rebasing_on(self):
         """
diff --git a/git/repo/fun.py b/git/repo/fun.py
index 5a47fff3..784a70bf 100644
--- a/git/repo/fun.py
+++ b/git/repo/fun.py
@@ -3,7 +3,6 @@ import os
 import stat
 from string import digits
 
-from git.compat import xrange
 from git.exc import WorkTreeRepositoryUnsupported
 from git.objects import Object
 from git.refs import SymbolicReference
@@ -307,7 +306,7 @@ def rev_parse(repo, rev):
         try:
             if token == "~":
                 obj = to_commit(obj)
-                for _ in xrange(num):
+                for _ in range(num):
                     obj = obj.parents[0]
                 # END for each history item to walk
             elif token == "^":
diff --git a/git/util.py b/git/util.py
index 974657e6..cf0ba8d5 100644
--- a/git/util.py
+++ b/git/util.py
@@ -13,6 +13,7 @@ import subprocess
 import re
 import shutil
 import stat
+from sys import maxsize
 import time
 from unittest import SkipTest
 
@@ -31,11 +32,6 @@ from gitdb.util import (# NOQA @IgnorePep8
 from git.compat import is_win
 import os.path as osp
 
-from .compat import (
-    MAXSIZE,
-    defenc,
-    PY3
-)
 from .exc import InvalidGitRepositoryError
 
 
@@ -592,9 +588,6 @@ class Actor(object):
                                           ('email', env_email, cls.conf_email, default_email)):
             try:
                 val = os.environ[evar]
-                if not PY3:
-                    val = val.decode(defenc)
-                # end assure we don't get 'invalid strings'
                 setattr(actor, attr, val)
             except KeyError:
                 if config_reader is not None:
@@ -787,7 +780,7 @@ class BlockingLockFile(LockFile):
         can never be obtained."""
     __slots__ = ("_check_interval", "_max_block_time")
 
-    def __init__(self, file_path, check_interval_s=0.3, max_block_time_s=MAXSIZE):
+    def __init__(self, file_path, check_interval_s=0.3, max_block_time_s=maxsize):
         """Configure the instance
 
         :param check_interval_s:
@@ -940,8 +933,3 @@ class Iterable(object):
 class NullHandler(logging.Handler):
     def emit(self, record):
         pass
-
-
-# In Python 2.6, there is no NullHandler yet. Let's monkey-patch it for a workaround.
-if not hasattr(logging, 'NullHandler'):
-    logging.NullHandler = NullHandler
diff --git a/release-verification-key.asc b/release-verification-key.asc
index 361253ac..1d4a2185 100644
--- a/release-verification-key.asc
+++ b/release-verification-key.asc
@@ -1,1735 +1,43 @@
 -----BEGIN PGP PUBLIC KEY BLOCK-----
-Comment: GPGTools - https://gpgtools.org
 
-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
-AAAAAAEAAAAAEAAgADAAQABQAGEAfwCgAMUA7AEXAUQBdQGoAd4CFgJSApAC0AMT
-A1kDoQPsBDkEiATaBS4FhQXeBjkGlgb2B1cHuwgiCIoI9AlhCdAKQQq0CykLoAwa
-DJUNEg2SDhMOlg8cD6MQLBC4EUUR1BJlEvgTjRQkFL0VVxX0FpIXMhfUGHgZHhnG
-Gm8bGxvIHHYdJx3aHo4fRB/8ILUhcSIuIu0jrSRwJTQl+SbBJ4ooVSkiKfAqwCuS
-LGUtOi4RLuovxDCgMX0yXDM9NB81AzXpNtA3uTikOZA6fjttPF49UT5FPztAM0Es
-QiZDIkQgRR9GIEcjSCdJLUo0SzxMR01TTmBPb1B/UZFSpVO6VNFV6VcCWB5ZOlpY
-W3hcmV28XuBgBmEtYlZjgGSsZdlnCGg4aWlqnWvRbQduP294cLJx7nMrdGp1qnbs
-eC95dHq6fAF9Sn6Vf+GBLoJ8g82FHoZxh8WJG4pyi8uNJY6Bj92RPJKbk/2VX5bD
-mCiZj5r3nGCdy583oKWiFKOFpPamaafeqVSqy6xErb6vObC2sjSztLU0tre4Orm/
-u0W8zb5Wv+DBbML5xIfGF8eoyTvKzsxjzfrPktEr0sXUYdX+15zZPNrd3H/eI9/I
-4W7jFuS/5mnoFOnB62/tH+7Q8ILyNfPq9aD3V/kQ+sr8hf5B////2wBDAAMCAgMC
-AgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUV
-DA8XGBYUGBIUFRT/wAALCACAAIABAREA/8QAHQAAAQQDAQEAAAAAAAAAAAAABgQF
-BwgBAgMACf/EAD8QAAIBAwIEAwUFBQcEAwAAAAECAwAEEQUhBhIxQQcTUQgiYXGB
-FDKRocEVI0Kx0QkWM1JykvEkQ2LwgrLh/9oACAEBAAA/APl484YqOlPFnJEkIJYZ
-rElzGxIBpL5xWTbpWbmeaVAIUZh05lGc/KsRaTzEGf8AxH2yPXtSqKwcsgCKVCk8
-3fOcVifTyqgu+5GeXsD0pDdQhmWOPPTLEnpSF4Mk8vuj+dZVWVcEhh2OaTtlXzW/
-2hsDY0rtLgtgU4n7gzWEVJDjIzQ/gtuc/SuySuBjO1d4pNhk5NLrOPzjkDmwM4PT
-NKGt7qdArXDYbZEHU49F7D8qeeHtHvr2SO2dZGKMrDKZIIO1SJH4W6jb2PmtamJ3
-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
-8dO8t31sborDIiffmPtTsctefZM/r1125P0GZcw=
-=Qpj6
+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
+Xp0NmfLrE51/iaV1VEQ=
+=xdo5
 -----END PGP PUBLIC KEY BLOCK-----
diff --git a/requirements.txt b/requirements.txt
index 63d5ddfe..5eb87ac6 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,1 +1,1 @@
-gitdb2 (>=2.0.0)
+gitdb2>=2.0.0
diff --git a/setup.py b/setup.py
index 0497792d..488d348e 100755
--- a/setup.py
+++ b/setup.py
@@ -78,7 +78,7 @@ setup(
     py_modules=['git.' + f[:-3] for f in os.listdir('./git') if f.endswith('.py')],
     package_data={'git.test': ['fixtures/*']},
     package_dir={'git': 'git'},
-    python_requires='>=3.0, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
+    python_requires='>=3.4',
     install_requires=requirements,
     tests_require=requirements + test_requirements,
     zip_safe=False,


Test patch:
diff --git a/git/test/lib/helper.py b/git/test/lib/helper.py
index 1c06010f..9418a9f8 100644
--- a/git/test/lib/helper.py
+++ b/git/test/lib/helper.py
@@ -11,13 +11,12 @@ import gc
 import io
 import logging
 import os
-import sys
 import tempfile
 import textwrap
 import time
 import unittest
 
-from git.compat import string_types, is_win
+from git.compat import is_win
 from git.util import rmtree, cwd
 import gitdb
 
@@ -117,7 +116,7 @@ def with_rw_repo(working_tree_ref, bare=False):
     To make working with relative paths easier, the cwd will be set to the working
     dir of the repository.
     """
-    assert isinstance(working_tree_ref, string_types), "Decorator requires ref name for working tree checkout"
+    assert isinstance(working_tree_ref, str), "Decorator requires ref name for working tree checkout"
 
     def argument_passer(func):
         @wraps(func)
@@ -248,7 +247,7 @@ def with_rw_and_rw_remote_repo(working_tree_ref):
     """
     from git import Git, Remote  # To avoid circular deps.
 
-    assert isinstance(working_tree_ref, string_types), "Decorator requires ref name for working tree checkout"
+    assert isinstance(working_tree_ref, str), "Decorator requires ref name for working tree checkout"
 
     def argument_passer(func):
 
@@ -344,11 +343,6 @@ class TestBase(TestCase):
       of the project history ( to assure tests don't fail for others ).
     """
 
-    # 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"""
         from git.cmd import Git
diff --git a/git/test/performance/test_commit.py b/git/test/performance/test_commit.py
index 322d3c9f..659f320d 100644
--- a/git/test/performance/test_commit.py
+++ b/git/test/performance/test_commit.py
@@ -11,7 +11,6 @@ import sys
 from .lib import TestBigRepoRW
 from git import Commit
 from gitdb import IStream
-from git.compat import xrange
 from git.test.test_commit import assert_commit_serialization
 
 
@@ -90,7 +89,7 @@ class TestPerformance(TestBigRepoRW):
 
         nc = 5000
         st = time()
-        for i in xrange(nc):
+        for i in range(nc):
             cm = Commit(rwrepo, Commit.NULL_BIN_SHA, hc.tree,
                         hc.author, hc.authored_date, hc.author_tz_offset,
                         hc.committer, hc.committed_date, hc.committer_tz_offset,
diff --git a/git/test/test_commit.py b/git/test/test_commit.py
index 96a03b20..e41e80bb 100644
--- a/git/test/test_commit.py
+++ b/git/test/test_commit.py
@@ -17,10 +17,6 @@ from git import (
     Actor,
 )
 from git import Repo
-from git.compat import (
-    string_types,
-    text_type
-)
 from git.objects.util import tzoffset, utc
 from git.repo.fun import touch
 from git.test.lib import (
@@ -145,7 +141,7 @@ class TestCommit(TestBase):
         self.assertEqual(len(name), 9)
         special = Actor._from_string(u"%s <something@this.com>" % name)
         self.assertEqual(special.name, name)
-        assert isinstance(special.name, text_type)
+        assert isinstance(special.name, str)
 
     def test_traversal(self):
         start = self.rorepo.commit("a4d06724202afccd2b5c54f81bcf2bf26dea7fff")
@@ -276,7 +272,7 @@ class TestCommit(TestBase):
 
     def test_name_rev(self):
         name_rev = self.rorepo.head.commit.name_rev
-        assert isinstance(name_rev, string_types)
+        assert isinstance(name_rev, str)
 
     @with_rw_repo('HEAD', bare=True)
     def test_serialization(self, rwrepo):
@@ -289,8 +285,8 @@ class TestCommit(TestBase):
         # create a commit with unicode in the message, and the author's name
         # Verify its serialization and deserialization
         cmt = self.rorepo.commit('0.1.6')
-        assert isinstance(cmt.message, text_type)     # it automatically decodes it as such
-        assert isinstance(cmt.author.name, text_type)  # same here
+        assert isinstance(cmt.message, str)     # it automatically decodes it as such
+        assert isinstance(cmt.author.name, str)  # same here
 
         cmt.message = u"üäêèß"
         self.assertEqual(len(cmt.message), 5)
diff --git a/git/test/test_config.py b/git/test/test_config.py
index 83e510be..ce7a2cde 100644
--- a/git/test/test_config.py
+++ b/git/test/test_config.py
@@ -10,7 +10,6 @@ import io
 from git import (
     GitConfigParser
 )
-from git.compat import string_types
 from git.config import _OMD, cp
 from git.test.lib import (
     TestCase,
@@ -157,7 +156,7 @@ class TestBase(TestCase):
                 num_options += 1
                 val = r_config.get(section, option)
                 val_typed = r_config.get_value(section, option)
-                assert isinstance(val_typed, (bool, int, float, ) + string_types)
+                assert isinstance(val_typed, (bool, int, float, str))
                 assert val
                 assert "\n" not in option
                 assert "\n" not in val
diff --git a/git/test/test_fun.py b/git/test/test_fun.py
index 314fb734..612c4c5d 100644
--- a/git/test/test_fun.py
+++ b/git/test/test_fun.py
@@ -2,10 +2,9 @@ from io import BytesIO
 from stat import S_IFDIR, S_IFREG, S_IFLNK
 from os import stat
 import os.path as osp
-from unittest import skipIf, SkipTest
+from unittest import SkipTest
 
 from git import Git
-from git.compat import PY3
 from git.index import IndexFile
 from git.index.fun import (
     aggressive_tree_merge
@@ -282,12 +281,6 @@ class TestFun(TestBase):
         statbuf = stat(gitdir)
         assert_true(statbuf.st_mode & S_IFDIR)
 
-    @skipIf(PY3, 'odd types returned ... maybe figure it out one day')
-    def test_tree_entries_from_data_with_failing_name_decode_py2(self):
-        r = tree_entries_from_data(b'100644 \x9f\0aaa')
-        assert r == [('aaa', 33188, u'\udc9f')], r
-
-    @skipIf(not PY3, 'odd types returned ... maybe figure it out one day')
     def test_tree_entries_from_data_with_failing_name_decode_py3(self):
         r = tree_entries_from_data(b'100644 \x9f\0aaa')
         assert r == [(b'aaa', 33188, '\udc9f')], r
diff --git a/git/test/test_git.py b/git/test/test_git.py
index 357d9edb..e6bc19d1 100644
--- a/git/test/test_git.py
+++ b/git/test/test_git.py
@@ -17,7 +17,7 @@ from git import (
     Repo,
     cmd
 )
-from git.compat import PY3, is_darwin
+from git.compat import is_darwin
 from git.test.lib import (
     TestBase,
     patch,
@@ -61,18 +61,12 @@ class TestGit(TestBase):
 
     def test_call_unpack_args_unicode(self):
         args = Git._Git__unpack_args(u'Unicode€™')
-        if PY3:
-            mangled_value = 'Unicode\u20ac\u2122'
-        else:
-            mangled_value = 'Unicode\xe2\x82\xac\xe2\x84\xa2'
+        mangled_value = 'Unicode\u20ac\u2122'
         assert_equal(args, [mangled_value])
 
     def test_call_unpack_args(self):
         args = Git._Git__unpack_args(['git', 'log', '--', u'Unicode€™'])
-        if PY3:
-            mangled_value = 'Unicode\u20ac\u2122'
-        else:
-            mangled_value = 'Unicode\xe2\x82\xac\xe2\x84\xa2'
+        mangled_value = 'Unicode\u20ac\u2122'
         assert_equal(args, ['git', 'log', '--', mangled_value])
 
     @raises(GitCommandError)
diff --git a/git/test/test_index.py b/git/test/test_index.py
index 9b8c957e..0a2309f9 100644
--- a/git/test/test_index.py
+++ b/git/test/test_index.py
@@ -25,7 +25,7 @@ from git import (
     GitCommandError,
     CheckoutError,
 )
-from git.compat import string_types, is_win, PY3
+from git.compat import is_win
 from git.exc import (
     HookExecutionError,
     InvalidGitRepositoryError
@@ -388,7 +388,7 @@ class TestIndex(TestBase):
             self.assertEqual(len(e.failed_files), 1)
             self.assertEqual(e.failed_files[0], osp.basename(test_file))
             self.assertEqual(len(e.failed_files), len(e.failed_reasons))
-            self.assertIsInstance(e.failed_reasons[0], string_types)
+            self.assertIsInstance(e.failed_reasons[0], str)
             self.assertEqual(len(e.valid_files), 0)
             with open(test_file, 'rb') as fd:
                 s = fd.read()
@@ -821,10 +821,6 @@ class TestIndex(TestBase):
             asserted = True
         assert asserted, "Adding using a filename is not correctly asserted."
 
-    @skipIf(HIDE_WINDOWS_KNOWN_ERRORS and not PY3, r"""
-        FIXME:  File "C:\projects\gitpython\git\util.py", line 125, in to_native_path_linux
-        return path.replace('\\', '/')
-        UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)""")
     @with_rw_directory
     def test_add_utf8P_path(self, rw_dir):
         # NOTE: fp is not a Unicode object in python 2 (which is the source of the problem)
diff --git a/git/test/test_remote.py b/git/test/test_remote.py
index 3ef47472..2194daec 100644
--- a/git/test/test_remote.py
+++ b/git/test/test_remote.py
@@ -22,7 +22,6 @@ from git import (
     GitCommandError
 )
 from git.cmd import Git
-from git.compat import string_types
 from git.test.lib import (
     TestBase,
     with_rw_repo,
@@ -116,7 +115,7 @@ class TestRemote(TestBase):
         self.assertGreater(len(results), 0)
         self.assertIsInstance(results[0], FetchInfo)
         for info in results:
-            self.assertIsInstance(info.note, string_types)
+            self.assertIsInstance(info.note, str)
             if isinstance(info.ref, Reference):
                 self.assertTrue(info.flags)
             # END reference type flags handling
@@ -133,7 +132,7 @@ class TestRemote(TestBase):
         self.assertIsInstance(results[0], PushInfo)
         for info in results:
             self.assertTrue(info.flags)
-            self.assertIsInstance(info.summary, string_types)
+            self.assertIsInstance(info.summary, str)
             if info.old_commit is not None:
                 self.assertIsInstance(info.old_commit, Commit)
             if info.flags & info.ERROR:
diff --git a/git/test/test_repo.py b/git/test/test_repo.py
index ef28c74e..af784b17 100644
--- a/git/test/test_repo.py
+++ b/git/test/test_repo.py
@@ -36,12 +36,6 @@ from git import (
     BadName,
     GitCommandError
 )
-from git.compat import (
-    PY3,
-    is_win,
-    string_types,
-    win_encode,
-)
 from git.exc import (
     BadObject,
 )
@@ -60,7 +54,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
 
-import functools as fnt
 import os.path as osp
 
 
@@ -362,7 +355,7 @@ class TestRepo(TestBase):
         self.rorepo.alternates = cur_alternates
 
     def test_repr(self):
-        assert repr(self.rorepo).startswith('<git.Repo ')
+        assert repr(self.rorepo).startswith('<git.repo.base.Repo ')
 
     def test_is_dirty_with_bare_repository(self):
         orig_value = self.rorepo._bare
@@ -442,7 +435,7 @@ class TestRepo(TestBase):
         # test the 'lines per commit' entries
         tlist = b[0][1]
         assert_true(tlist)
-        assert_true(isinstance(tlist[0], string_types))
+        assert_true(isinstance(tlist[0], str))
         assert_true(len(tlist) < sum(len(t) for t in tlist))               # test for single-char bug
 
         # BINARY BLAME
@@ -503,10 +496,7 @@ class TestRepo(TestBase):
                 """)
     @with_rw_repo('HEAD', bare=False)
     def test_untracked_files(self, rwrepo):
-        for run, (repo_add, is_invoking_git) in enumerate((
-                (rwrepo.index.add, False),
-                (rwrepo.git.add, True),
-        )):
+        for run, repo_add in enumerate((rwrepo.index.add, rwrepo.git.add)):
             base = rwrepo.working_tree_dir
             files = (join_path_native(base, u"%i_test _myfile" % run),
                      join_path_native(base, "%i_test_other_file" % run),
@@ -526,11 +516,6 @@ class TestRepo(TestBase):
                 num_test_untracked += join_path_native(base, utfile) in files
             self.assertEqual(len(files), num_test_untracked)
 
-            if is_win and not PY3 and is_invoking_git:
-                ## On Windows, shell needed when passing unicode cmd-args.
-                #
-                repo_add = fnt.partial(repo_add, shell=True)
-                untracked_files = [win_encode(f) for f in untracked_files]
             repo_add(untracked_files)
             self.assertEqual(len(rwrepo.untracked_files), (num_recently_untracked - len(files)))
         # end for each run
diff --git a/git/test/test_submodule.py b/git/test/test_submodule.py
index 94028d83..0d306edc 100644
--- a/git/test/test_submodule.py
+++ b/git/test/test_submodule.py
@@ -8,7 +8,7 @@ from unittest import skipIf
 
 import git
 from git.cmd import Git
-from git.compat import string_types, is_win
+from git.compat import is_win
 from git.exc import (
     InvalidGitRepositoryError,
     RepositoryDirtyError
@@ -79,7 +79,7 @@ class TestSubmodule(TestBase):
         self.failUnlessRaises(InvalidGitRepositoryError, getattr, sm, 'branch')
 
         # branch_path works, as its just a string
-        assert isinstance(sm.branch_path, string_types)
+        assert isinstance(sm.branch_path, str)
 
         # some commits earlier we still have a submodule, but its at a different commit
         smold = next(Submodule.iter_items(rwrepo, self.k_subm_changed))
diff --git a/git/test/test_util.py b/git/test/test_util.py
index a4d9d7ad..5faeeacb 100644
--- a/git/test/test_util.py
+++ b/git/test/test_util.py
@@ -13,7 +13,7 @@ from datetime import datetime
 import ddt
 
 from git.cmd import dashify
-from git.compat import string_types, is_win
+from git.compat import is_win
 from git.objects.util import (
     altz_to_utctz_str,
     utctz_to_altz,
@@ -187,7 +187,7 @@ class TestUtils(TestBase):
 
             # now that we are here, test our conversion functions as well
             utctz = altz_to_utctz_str(offset)
-            self.assertIsInstance(utctz, string_types)
+            self.assertIsInstance(utctz, str)
             self.assertEqual(utctz_to_altz(verify_utctz(utctz)), offset)
         # END assert rval utility