summaryrefslogtreecommitdiff
path: root/git
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2015-01-04 19:14:33 +0100
committerSebastian Thiel <byronimo@gmail.com>2015-01-04 19:14:33 +0100
commitf6aa8d116eb33293c0a9d6d600eb7c32832758b9 (patch)
treeee07288965cfd4e8326c57735e94c347ee7dd829 /git
parent3936084cdd336ce7db7d693950e345eeceab93a5 (diff)
downloadgitpython-f6aa8d116eb33293c0a9d6d600eb7c32832758b9.tar.gz
initial set of adjustments to make (most) imports work.
More to come, especially when it's about strings
Diffstat (limited to 'git')
-rw-r--r--git/cmd.py14
-rw-r--r--git/compat.py19
-rw-r--r--git/config.py6
-rw-r--r--git/db.py11
-rw-r--r--git/diff.py6
-rw-r--r--git/index/base.py11
-rw-r--r--git/index/fun.py8
-rw-r--r--git/index/typ.py9
-rw-r--r--git/objects/__init__.py7
-rw-r--r--git/objects/base.py2
-rw-r--r--git/objects/blob.py3
-rw-r--r--git/objects/commit.py15
-rw-r--r--git/objects/submodule/base.py6
-rw-r--r--git/objects/submodule/root.py7
-rw-r--r--git/objects/submodule/util.py2
-rw-r--r--git/objects/tag.py6
-rw-r--r--git/objects/tree.py16
-rw-r--r--git/refs/head.py8
-rw-r--r--git/refs/reference.py3
-rw-r--r--git/refs/remote.py3
-rw-r--r--git/refs/symbolic.py3
-rw-r--r--git/refs/tag.py2
-rw-r--r--git/remote.py29
-rw-r--r--git/repo/base.py2
-rw-r--r--git/repo/fun.py4
-rw-r--r--git/test/lib/asserts.py18
-rw-r--r--git/test/lib/helper.py6
-rw-r--r--git/test/performance/test_commit.py2
-rw-r--r--git/test/test_commit.py2
-rw-r--r--git/test/test_fun.py2
-rw-r--r--git/test/test_index.py2
-rw-r--r--git/test/test_repo.py2
-rw-r--r--git/test/test_tree.py2
-rw-r--r--git/util.py5
34 files changed, 134 insertions, 109 deletions
diff --git a/git/cmd.py b/git/cmd.py
index c355eacf..b9e4bc09 100644
--- a/git/cmd.py
+++ b/git/cmd.py
@@ -7,18 +7,20 @@
import os
import sys
import logging
-from util import (
- LazyMixin,
- stream_copy
-)
-from exc import GitCommandError
-
from subprocess import (
call,
Popen,
PIPE
)
+
+from .util import (
+ LazyMixin,
+ stream_copy
+)
+from .exc import GitCommandError
+
+
execute_kwargs = ('istream', 'with_keep_cwd', 'with_extended_output',
'with_exceptions', 'as_process',
'output_stream')
diff --git a/git/compat.py b/git/compat.py
new file mode 100644
index 00000000..52fc599c
--- /dev/null
+++ b/git/compat.py
@@ -0,0 +1,19 @@
+#-*-coding:utf-8-*-
+# config.py
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
+#
+# This module is part of GitPython and is released under
+# the BSD License: http://www.opensource.org/licenses/bsd-license.php
+"""utilities to help provide compatibility with python 3"""
+
+from gitdb.utils.compat import ( # noqa
+ PY3,
+ xrange,
+ MAXSIZE,
+ izip,
+)
+
+from gitdb.utils.encoding import ( # noqa
+ string_types,
+ text_type
+)
diff --git a/git/config.py b/git/config.py
index 6a85760c..685dbed8 100644
--- a/git/config.py
+++ b/git/config.py
@@ -7,7 +7,11 @@
configuration files"""
import re
-import ConfigParser as cp
+try:
+ import ConfigParser as cp
+except ImportError:
+ # PY3
+ import configparser as cp
import inspect
import logging
diff --git a/git/db.py b/git/db.py
index ab39f6c5..c4e19858 100644
--- a/git/db.py
+++ b/git/db.py
@@ -1,14 +1,8 @@
"""Module with our own gitdb implementation - it uses the git command"""
-from exc import (
- GitCommandError,
- BadObject
-)
-
from gitdb.base import (
OInfo,
OStream
)
-
from gitdb.util import (
bin_to_hex,
hex_to_bin
@@ -16,6 +10,11 @@ from gitdb.util import (
from gitdb.db import GitDB
from gitdb.db import LooseObjectDB
+from .exc import (
+ GitCommandError,
+ BadObject
+)
+
__all__ = ('GitCmdObjectDB', 'GitDB')
diff --git a/git/diff.py b/git/diff.py
index 5325ad6b..b3e7245b 100644
--- a/git/diff.py
+++ b/git/diff.py
@@ -3,13 +3,13 @@
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
-
import re
-from objects.blob import Blob
-from objects.util import mode_str_to_int
from gitdb.util import hex_to_bin
+from .objects.blob import Blob
+from .objects.util import mode_str_to_int
+
__all__ = ('Diffable', 'DiffIndex', 'Diff')
diff --git a/git/index/base.py b/git/index/base.py
index fdcfcd12..91dcea42 100644
--- a/git/index/base.py
+++ b/git/index/base.py
@@ -8,16 +8,16 @@ import os
import sys
import subprocess
import glob
-from cStringIO import StringIO
+from io import StringIO
from stat import S_ISLNK
-from typ import (
+from .typ import (
BaseIndexEntry,
IndexEntry,
)
-from util import (
+from .util import (
TemporaryFileSwap,
post_clear_cache,
default_index,
@@ -25,7 +25,6 @@ from util import (
)
import git.diff as diff
-
from git.exc import (
GitCommandError,
CheckoutError
@@ -40,6 +39,7 @@ from git.objects import (
)
from git.objects.util import Serializable
+from git.compat import izip
from git.util import (
LazyMixin,
@@ -49,7 +49,7 @@ from git.util import (
to_native_path_linux,
)
-from fun import (
+from .fun import (
entry_key,
write_cache,
read_cache,
@@ -62,7 +62,6 @@ from fun import (
from gitdb.base import IStream
from gitdb.db import MemoryDB
from gitdb.util import to_bin_sha
-from itertools import izip
__all__ = ('IndexFile', 'CheckoutError')
diff --git a/git/index/fun.py b/git/index/fun.py
index eec90519..004f992e 100644
--- a/git/index/fun.py
+++ b/git/index/fun.py
@@ -12,7 +12,7 @@ from stat import (
S_IFGITLINK = S_IFLNK | S_IFDIR # a submodule
-from cStringIO import StringIO
+from io import StringIO
from git.util import IndexFileSHA1Writer
from git.exc import UnmergedEntriesError
@@ -22,7 +22,7 @@ from git.objects.fun import (
traverse_trees_recursive
)
-from typ import (
+from .typ import (
BaseIndexEntry,
IndexEntry,
CE_NAMEMASK,
@@ -30,7 +30,7 @@ from typ import (
)
CE_NAMEMASK_INV = ~CE_NAMEMASK
-from util import (
+from .util import (
pack,
unpack
)
@@ -49,7 +49,7 @@ def stat_mode_to_index_mode(mode):
return S_IFLNK
if S_ISDIR(mode) or S_IFMT(mode) == S_IFGITLINK: # submodules
return S_IFGITLINK
- return S_IFREG | 0644 | (mode & 0100) # blobs with or without executable bit
+ return S_IFREG | 0o644 | (mode & 0o100) # blobs with or without executable bit
def write_cache(entries, stream, extension_data=None, ShaStreamCls=IndexFileSHA1Writer):
diff --git a/git/index/typ.py b/git/index/typ.py
index 222252c5..692e1e18 100644
--- a/git/index/typ.py
+++ b/git/index/typ.py
@@ -1,15 +1,14 @@
"""Module with additional types used by the index"""
-from util import (
+from binascii import b2a_hex
+
+from .util import (
pack,
unpack
)
+from git.objects import Blob
-from binascii import (
- b2a_hex,
-)
-from git.objects import Blob
__all__ = ('BlobFilter', 'BaseIndexEntry', 'IndexEntry')
#{ Invariants
diff --git a/git/objects/__init__.py b/git/objects/__init__.py
index 70fc52cb..ee642876 100644
--- a/git/objects/__init__.py
+++ b/git/objects/__init__.py
@@ -7,9 +7,10 @@ import inspect
from .base import *
# Fix import dependency - add IndexObject to the util module, so that it can be
# imported by the submodule.base
-from .submodule import util
-util.IndexObject = IndexObject
-util.Object = Object
+from .submodule import util as smutil
+smutil.IndexObject = IndexObject
+smutil.Object = Object
+del(smutil)
from .submodule.base import *
from .submodule.root import *
diff --git a/git/objects/base.py b/git/objects/base.py
index 20147e57..1f0d5752 100644
--- a/git/objects/base.py
+++ b/git/objects/base.py
@@ -3,8 +3,8 @@
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
+from .util import get_object_type_by_name
from git.util import LazyMixin, join_path_native, stream_copy
-from util import get_object_type_by_name
from gitdb.util import (
bin_to_hex,
basename
diff --git a/git/objects/blob.py b/git/objects/blob.py
index b05e5b84..322f6992 100644
--- a/git/objects/blob.py
+++ b/git/objects/blob.py
@@ -3,9 +3,8 @@
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
-
from mimetypes import guess_type
-import base
+from . import base
__all__ = ('Blob', )
diff --git a/git/objects/commit.py b/git/objects/commit.py
index 9c733695..5b6b9a33 100644
--- a/git/objects/commit.py
+++ b/git/objects/commit.py
@@ -4,6 +4,8 @@
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
+from gitdb import IStream
+from gitdb.util import hex_to_bin
from git.util import (
Actor,
Iterable,
@@ -11,26 +13,23 @@ from git.util import (
finalize_process
)
from git.diff import Diffable
-from tree import Tree
-from gitdb import IStream
-from cStringIO import StringIO
-import base
-from gitdb.util import (
- hex_to_bin
-)
-from util import (
+from .tree import Tree
+from . import base
+from .util import (
Traversable,
Serializable,
parse_date,
altz_to_utctz_str,
parse_actor_and_date
)
+
from time import (
time,
altzone
)
import os
+from io import StringIO
import logging
log = logging.getLogger('git.objects.commit')
diff --git a/git/objects/submodule/base.py b/git/objects/submodule/base.py
index d6f8982b..5ccebd4c 100644
--- a/git/objects/submodule/base.py
+++ b/git/objects/submodule/base.py
@@ -1,5 +1,5 @@
-import util
-from util import (
+from . import util
+from .util import (
mkhead,
sm_name,
sm_section,
@@ -8,7 +8,7 @@ from util import (
find_first_remote_branch
)
from git.objects.util import Traversable
-from StringIO import StringIO # need a dict to set bloody .name field
+from io import StringIO # need a dict to set bloody .name field
from git.util import (
Iterable,
join_path_native,
diff --git a/git/objects/submodule/root.py b/git/objects/submodule/root.py
index 708749c7..8c9afff1 100644
--- a/git/objects/submodule/root.py
+++ b/git/objects/submodule/root.py
@@ -1,5 +1,8 @@
-from base import Submodule, UpdateProgress
-from util import (
+from .base import (
+ Submodule,
+ UpdateProgress
+)
+from .util import (
find_first_remote_branch
)
from git.exc import InvalidGitRepositoryError
diff --git a/git/objects/submodule/util.py b/git/objects/submodule/util.py
index 01bd03b3..cb84ccb1 100644
--- a/git/objects/submodule/util.py
+++ b/git/objects/submodule/util.py
@@ -1,7 +1,7 @@
import git
from git.exc import InvalidGitRepositoryError
from git.config import GitConfigParser
-from StringIO import StringIO
+from io import StringIO
import weakref
__all__ = ('sm_section', 'sm_name', 'mkhead', 'unbare_repo', 'find_first_remote_branch',
diff --git a/git/objects/tag.py b/git/objects/tag.py
index 3c379579..5e76e230 100644
--- a/git/objects/tag.py
+++ b/git/objects/tag.py
@@ -4,12 +4,12 @@
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
""" Module containing all object based types. """
-import base
-from gitdb.util import hex_to_bin
-from util import (
+from . import base
+from .util import (
get_object_type_by_name,
parse_actor_and_date
)
+from gitdb.util import hex_to_bin
__all__ = ("TagObject", )
diff --git a/git/objects/tree.py b/git/objects/tree.py
index c77e6056..a216322b 100644
--- a/git/objects/tree.py
+++ b/git/objects/tree.py
@@ -3,22 +3,20 @@
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
-import util
-from base import IndexObject
from git.util import join_path
-from blob import Blob
-from submodule.base import Submodule
import git.diff as diff
+from gitdb.util import to_bin_sha
-from fun import (
+from . import util
+from .base import IndexObject
+from .blob import Blob
+from .submodule.base import Submodule
+
+from .fun import (
tree_entries_from_data,
tree_to_stream
)
-from gitdb.util import (
- to_bin_sha,
-)
-
__all__ = ("TreeModifier", "Tree")
diff --git a/git/refs/head.py b/git/refs/head.py
index 25c994a3..0a14158c 100644
--- a/git/refs/head.py
+++ b/git/refs/head.py
@@ -1,12 +1,10 @@
-from symbolic import SymbolicReference
-from reference import Reference
-
from git.config import SectionConstraint
-
from git.util import join_path
-
from git.exc import GitCommandError
+from .symbolic import SymbolicReference
+from .reference import Reference
+
__all__ = ["HEAD", "Head"]
diff --git a/git/refs/reference.py b/git/refs/reference.py
index b07ac0cd..8741ebb9 100644
--- a/git/refs/reference.py
+++ b/git/refs/reference.py
@@ -1,8 +1,9 @@
-from symbolic import SymbolicReference
from git.util import (
LazyMixin,
Iterable,
)
+from .symbolic import SymbolicReference
+
__all__ = ["Reference"]
diff --git a/git/refs/remote.py b/git/refs/remote.py
index e3827ad9..b692e6df 100644
--- a/git/refs/remote.py
+++ b/git/refs/remote.py
@@ -1,7 +1,8 @@
-from head import Head
from git.util import join_path
from gitdb.util import join
+from .head import Head
+
import os
diff --git a/git/refs/symbolic.py b/git/refs/symbolic.py
index e0f5531a..0cd04e07 100644
--- a/git/refs/symbolic.py
+++ b/git/refs/symbolic.py
@@ -1,4 +1,5 @@
import os
+
from git.objects import Object, Commit
from git.util import (
join_path,
@@ -19,7 +20,7 @@ from gitdb.util import (
LockedFD
)
-from log import RefLog
+from .log import RefLog
__all__ = ["SymbolicReference"]
diff --git a/git/refs/tag.py b/git/refs/tag.py
index 6509c891..3334e53c 100644
--- a/git/refs/tag.py
+++ b/git/refs/tag.py
@@ -1,4 +1,4 @@
-from reference import Reference
+from .reference import Reference
__all__ = ["TagReference", "Tag"]
diff --git a/git/remote.py b/git/remote.py
index 44b7ffaa..9ebc52fe 100644
--- a/git/remote.py
+++ b/git/remote.py
@@ -5,33 +5,34 @@
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
# Module implementing a remote object allowing easy access to git remotes
+import re
+import os
-from exc import GitCommandError
-from ConfigParser import NoOptionError
-from config import SectionConstraint
-
-from git.util import (
- LazyMixin,
- Iterable,
- IterableList,
- RemoteProgress
+from .exc import GitCommandError
+from .config import (
+ SectionConstraint,
+ cp,
)
-
-from refs import (
+from .refs import (
Reference,
RemoteReference,
SymbolicReference,
TagReference
)
+
+from git.util import (
+ LazyMixin,
+ Iterable,
+ IterableList,
+ RemoteProgress
+)
from git.util import (
join_path,
finalize_process
)
from gitdb.util import join
-import re
-import os
__all__ = ('RemoteProgress', 'PushInfo', 'FetchInfo', 'Remote')
@@ -390,7 +391,7 @@ class Remote(LazyMixin, Iterable):
# even though a slot of the same name exists
try:
return self._config_reader.get(attr)
- except NoOptionError:
+ except cp.NoOptionError:
return super(Remote, self).__getattr__(attr)
# END handle exception
diff --git a/git/repo/base.py b/git/repo/base.py
index dcf98152..e5ae7623 100644
--- a/git/repo/base.py
+++ b/git/repo/base.py
@@ -40,7 +40,7 @@ from gitdb.util import (
hex_to_bin
)
-from fun import (
+from .fun import (
rev_parse,
is_git_dir,
find_git_dir,
diff --git a/git/repo/fun.py b/git/repo/fun.py
index b8905517..d08e5fed 100644
--- a/git/repo/fun.py
+++ b/git/repo/fun.py
@@ -1,5 +1,7 @@
"""Package with general repository related functions"""
import os
+from string import digits
+
from gitdb.exc import BadObject
from git.refs import SymbolicReference
from git.objects import Object
@@ -11,7 +13,7 @@ from gitdb.util import (
hex_to_bin,
bin_to_hex
)
-from string import digits
+
__all__ = ('rev_parse', 'is_git_dir', 'touch', 'read_gitfile', 'find_git_dir', 'name_to_object',
'short_to_long', 'deref_tag', 'to_commit')
diff --git a/git/test/lib/asserts.py b/git/test/lib/asserts.py
index 0f2fd99a..60a888b3 100644
--- a/git/test/lib/asserts.py
+++ b/git/test/lib/asserts.py
@@ -7,13 +7,6 @@
import re
import stat
-__all__ = ['assert_instance_of', 'assert_not_instance_of',
- 'assert_none', 'assert_not_none',
- 'assert_match', 'assert_not_match', 'assert_mode_644',
- 'assert_mode_755',
- 'assert_equal', 'assert_not_equal', 'assert_raises', 'patch', 'raises',
- 'assert_true', 'assert_false']
-
from nose.tools import (
assert_equal,
assert_not_equal,
@@ -23,9 +16,14 @@ from nose.tools import (
assert_false
)
-from mock import (
- patch
-)
+from mock import patch
+
+__all__ = ['assert_instance_of', 'assert_not_instance_of',
+ 'assert_none', 'assert_not_none',
+ 'assert_match', 'assert_not_match', 'assert_mode_644',
+ 'assert_mode_755',
+ 'assert_equal', 'assert_not_equal', 'assert_raises', 'patch', 'raises',
+ 'assert_true', 'assert_false']
def assert_instance_of(expected, actual, msg=None):
diff --git a/git/test/lib/helper.py b/git/test/lib/helper.py
index 9c935ce0..0ea4fc7e 100644
--- a/git/test/lib/helper.py
+++ b/git/test/lib/helper.py
@@ -11,7 +11,7 @@ from unittest import TestCase
import time
import tempfile
import shutil
-import cStringIO
+import io
GIT_REPO = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
@@ -46,8 +46,8 @@ class StringProcessAdapter(object):
Its tailored to work with the test system only"""
def __init__(self, input_string):
- self.stdout = cStringIO.StringIO(input_string)
- self.stderr = cStringIO.StringIO()
+ self.stdout = io.StringIO(input_string)
+ self.stderr = io.StringIO()
def wait(self):
return 0
diff --git a/git/test/performance/test_commit.py b/git/test/performance/test_commit.py
index a890c833..fed6ef18 100644
--- a/git/test/performance/test_commit.py
+++ b/git/test/performance/test_commit.py
@@ -8,7 +8,7 @@ from .lib import TestBigRepoRW
from git import Commit
from gitdb import IStream
from git.test.test_commit import assert_commit_serialization
-from cStringIO import StringIO
+from io import StringIO
from time import time
import sys
diff --git a/git/test/test_commit.py b/git/test/test_commit.py
index bfad6fd6..84f81f21 100644
--- a/git/test/test_commit.py
+++ b/git/test/test_commit.py
@@ -21,7 +21,7 @@ from git import (
from gitdb import IStream
from gitdb.util import hex_to_bin
-from cStringIO import StringIO
+from io import StringIO
import time
import sys
import re
diff --git a/git/test/test_fun.py b/git/test/test_fun.py
index bf178aaa..4093065d 100644
--- a/git/test/test_fun.py
+++ b/git/test/test_fun.py
@@ -24,7 +24,7 @@ from stat import (
)
from git.index import IndexFile
-from cStringIO import StringIO
+from io import StringIO
class TestFun(TestBase):
diff --git a/git/test/test_index.py b/git/test/test_index.py
index 15fff8d4..74bdac53 100644
--- a/git/test/test_index.py
+++ b/git/test/test_index.py
@@ -30,7 +30,7 @@ from stat import (
ST_MODE
)
-from StringIO import StringIO
+from io import StringIO
from gitdb.base import IStream
from git.objects import Blob
from git.index.typ import (
diff --git a/git/test/test_repo.py b/git/test/test_repo.py
index f6b46a6e..41c1c8f1 100644
--- a/git/test/test_repo.py
+++ b/git/test/test_repo.py
@@ -35,7 +35,7 @@ import os
import sys
import tempfile
import shutil
-from cStringIO import StringIO
+from io import StringIO
class TestRepo(TestBase):
diff --git a/git/test/test_tree.py b/git/test/test_tree.py
index d2e3606b..3b89abee 100644
--- a/git/test/test_tree.py
+++ b/git/test/test_tree.py
@@ -11,7 +11,7 @@ from git import (
Blob
)
-from cStringIO import StringIO
+from io import StringIO
class TestTree(TestBase):
diff --git a/git/util.py b/git/util.py
index fecd9fa2..b3a22883 100644
--- a/git/util.py
+++ b/git/util.py
@@ -15,7 +15,8 @@ import getpass
# NOTE: Some of the unused imports might be used/imported by others.
# Handle once test-cases are back up and running.
-from exc import GitCommandError
+from .exc import GitCommandError
+from .compat import MAXSIZE
# Most of these are unused here, but are for use by git-python modules so these
# don't see gitdb all the time. Flake of course doesn't like it.
@@ -548,7 +549,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=sys.maxint):
+ def __init__(self, file_path, check_interval_s=0.3, max_block_time_s=MAXSIZE):
"""Configure the instance
:parm check_interval_s: