Skip to content

Commit b02662d

Browse files
committed
src: reduce needless deps to gitdb.util
1 parent 0210e39 commit b02662d

21 files changed

+124
-151
lines changed

Diff for: git/db.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
"""Module with our own gitdb implementation - it uses the git command"""
2+
from git.util import bin_to_hex, hex_to_bin
23
from gitdb.base import (
34
OInfo,
45
OStream
56
)
6-
from gitdb.util import (
7-
bin_to_hex,
8-
hex_to_bin
9-
)
107
from gitdb.db import GitDB # @UnusedImport
118
from gitdb.db import LooseObjectDB
129

Diff for: git/diff.py

+6-7
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,17 @@
55
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
66
import re
77

8-
from gitdb.util import hex_to_bin
8+
from git.cmd import handle_process_output
9+
from git.compat import (
10+
defenc,
11+
PY3
12+
)
13+
from git.util import finalize_process, hex_to_bin
914

1015
from .compat import binary_type
1116
from .objects.blob import Blob
1217
from .objects.util import mode_str_to_int
1318

14-
from git.compat import (
15-
defenc,
16-
PY3
17-
)
18-
from git.cmd import handle_process_output
19-
from git.util import finalize_process
2019

2120
__all__ = ('Diffable', 'DiffIndex', 'Diff', 'NULL_TREE')
2221

Diff for: git/index/base.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@
3939
join_path_native,
4040
file_contents_ro,
4141
to_native_path_linux,
42-
unbare_repo
42+
unbare_repo,
43+
to_bin_sha
4344
)
4445
from gitdb.base import IStream
4546
from gitdb.db import MemoryDB
46-
from gitdb.util import to_bin_sha
4747

4848
import git.diff as diff
4949
import os.path as osp

Diff for: git/objects/base.py

+6-7
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@
33
#
44
# This module is part of GitPython and is released under
55
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
6-
from .util import get_object_type_by_name
7-
from git.util import LazyMixin, join_path_native, stream_copy
8-
from gitdb.util import (
9-
bin_to_hex,
10-
basename
11-
)
6+
from git.util import LazyMixin, join_path_native, stream_copy, bin_to_hex
127

138
import gitdb.typ as dbtyp
9+
import os.path as osp
10+
11+
from .util import get_object_type_by_name
12+
1413

1514
_assertion_msg_format = "Created object %r whose python type %r disagrees with the acutal git object type %r"
1615

@@ -170,7 +169,7 @@ def _set_cache_(self, attr):
170169
@property
171170
def name(self):
172171
""":return: Name portion of the path, effectively being the basename"""
173-
return basename(self.path)
172+
return osp.basename(self.path)
174173

175174
@property
176175
def abspath(self):

Diff for: git/objects/commit.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
66

77
from gitdb import IStream
8-
from gitdb.util import hex_to_bin
98
from git.util import (
9+
hex_to_bin,
1010
Actor,
1111
Iterable,
1212
Stats,

Diff for: git/objects/tag.py

+3-6
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,9 @@
55
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
66
""" Module containing all object based types. """
77
from . import base
8-
from .util import (
9-
get_object_type_by_name,
10-
parse_actor_and_date
11-
)
12-
from gitdb.util import hex_to_bin
13-
from git.compat import defenc
8+
from .util import get_object_type_by_name, parse_actor_and_date
9+
from ..util import hex_to_bin
10+
from ..compat import defenc
1411

1512
__all__ = ("TagObject", )
1613

Diff for: git/objects/tree.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
66
from git.util import join_path
77
import git.diff as diff
8-
from gitdb.util import to_bin_sha
8+
from git.util import to_bin_sha
99

1010
from . import util
1111
from .base import IndexObject
@@ -18,7 +18,7 @@
1818
tree_to_stream
1919
)
2020

21-
from gitdb.utils.compat import PY3
21+
from git.compat import PY3
2222

2323
if PY3:
2424
cmp = lambda a, b: (a > b) - (a < b)

Diff for: git/refs/log.py

+17-19
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,29 @@
1+
import re
2+
import time
3+
4+
from git.compat import (
5+
PY3,
6+
xrange,
7+
string_types,
8+
defenc
9+
)
10+
from git.objects.util import (
11+
parse_date,
12+
Serializable,
13+
altz_to_utctz_str,
14+
)
115
from git.util import (
216
Actor,
317
LockedFD,
418
LockFile,
519
assure_directory_exists,
620
to_native_path,
7-
)
8-
9-
from gitdb.util import (
1021
bin_to_hex,
11-
join,
12-
file_contents_ro_filepath,
22+
file_contents_ro_filepath
1323
)
1424

15-
from git.objects.util import (
16-
parse_date,
17-
Serializable,
18-
altz_to_utctz_str,
19-
)
20-
from git.compat import (
21-
PY3,
22-
xrange,
23-
string_types,
24-
defenc
25-
)
25+
import os.path as osp
2626

27-
import time
28-
import re
2927

3028
__all__ = ["RefLog", "RefLogEntry"]
3129

@@ -185,7 +183,7 @@ def path(cls, ref):
185183
instance would be found. The path is not guaranteed to point to a valid
186184
file though.
187185
:param ref: SymbolicReference instance"""
188-
return join(ref.repo.git_dir, "logs", to_native_path(ref.path))
186+
return osp.join(ref.repo.git_dir, "logs", to_native_path(ref.path))
189187

190188
@classmethod
191189
def iter_entries(cls, stream):

Diff for: git/refs/remote.py

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
import os
2+
13
from git.util import join_path
2-
from gitdb.util import join
34

4-
from .head import Head
5+
import os.path as osp
56

6-
import os
7+
from .head import Head
78

89

910
__all__ = ["RemoteReference"]
@@ -36,7 +37,7 @@ def delete(cls, repo, *refs, **kwargs):
3637
# and delete remainders manually
3738
for ref in refs:
3839
try:
39-
os.remove(join(repo.git_dir, ref.path))
40+
os.remove(osp.join(repo.git_dir, ref.path))
4041
except OSError:
4142
pass
4243
# END for each ref

Diff for: git/refs/symbolic.py

+15-23
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,14 @@
99
join_path,
1010
join_path_native,
1111
to_native_path_linux,
12-
assure_directory_exists
12+
assure_directory_exists,
13+
hex_to_bin,
14+
LockedFD
1315
)
1416
from gitdb.exc import (
1517
BadObject,
1618
BadName
1719
)
18-
from gitdb.util import (
19-
join,
20-
dirname,
21-
isdir,
22-
exists,
23-
isfile,
24-
rename,
25-
hex_to_bin,
26-
LockedFD
27-
)
2820

2921
import os.path as osp
3022

@@ -83,7 +75,7 @@ def abspath(self):
8375

8476
@classmethod
8577
def _get_packed_refs_path(cls, repo):
86-
return join(repo.git_dir, 'packed-refs')
78+
return osp.join(repo.git_dir, 'packed-refs')
8779

8880
@classmethod
8981
def _iter_packed_refs(cls, repo):
@@ -136,7 +128,7 @@ def _get_ref_info(cls, repo, ref_path):
136128
point to, or None"""
137129
tokens = None
138130
try:
139-
with open(join(repo.git_dir, ref_path), 'rt') as fp:
131+
with open(osp.join(repo.git_dir, ref_path), 'rt') as fp:
140132
value = fp.read().rstrip()
141133
# Don't only split on spaces, but on whitespace, which allows to parse lines like
142134
# 60b64ef992065e2600bfef6187a97f92398a9144 branch 'master' of git-server:/path/to/repo
@@ -420,8 +412,8 @@ def delete(cls, repo, path):
420412
or just "myreference", hence 'refs/' is implied.
421413
Alternatively the symbolic reference to be deleted"""
422414
full_ref_path = cls.to_full_path(path)
423-
abs_path = join(repo.git_dir, full_ref_path)
424-
if exists(abs_path):
415+
abs_path = osp.join(repo.git_dir, full_ref_path)
416+
if osp.exists(abs_path):
425417
os.remove(abs_path)
426418
else:
427419
# check packed refs
@@ -472,14 +464,14 @@ def _create(cls, repo, path, resolve, reference, force, logmsg=None):
472464
corresponding object and a detached symbolic reference will be created
473465
instead"""
474466
full_ref_path = cls.to_full_path(path)
475-
abs_ref_path = join(repo.git_dir, full_ref_path)
467+
abs_ref_path = osp.join(repo.git_dir, full_ref_path)
476468

477469
# figure out target data
478470
target = reference
479471
if resolve:
480472
target = repo.rev_parse(str(reference))
481473

482-
if not force and isfile(abs_ref_path):
474+
if not force and osp.isfile(abs_ref_path):
483475
target_data = str(target)
484476
if isinstance(target, SymbolicReference):
485477
target_data = target.path
@@ -546,9 +538,9 @@ def rename(self, new_path, force=False):
546538
if self.path == new_path:
547539
return self
548540

549-
new_abs_path = join(self.repo.git_dir, new_path)
550-
cur_abs_path = join(self.repo.git_dir, self.path)
551-
if isfile(new_abs_path):
541+
new_abs_path = osp.join(self.repo.git_dir, new_path)
542+
cur_abs_path = osp.join(self.repo.git_dir, self.path)
543+
if osp.isfile(new_abs_path):
552544
if not force:
553545
# if they point to the same file, its not an error
554546
with open(new_abs_path, 'rb') as fd1:
@@ -563,12 +555,12 @@ def rename(self, new_path, force=False):
563555
os.remove(new_abs_path)
564556
# END handle existing target file
565557

566-
dname = dirname(new_abs_path)
567-
if not isdir(dname):
558+
dname = osp.dirname(new_abs_path)
559+
if not osp.isdir(dname):
568560
os.makedirs(dname)
569561
# END create directory
570562

571-
rename(cur_abs_path, new_abs_path)
563+
os.rename(cur_abs_path, new_abs_path)
572564
self.path = new_path
573565

574566
return self

Diff for: git/remote.py

+19-16
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,25 @@
55
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
66

77
# Module implementing a remote object allowing easy access to git remotes
8+
import logging
89
import re
910

11+
from git.cmd import handle_process_output, Git
12+
from git.compat import (defenc, force_text, is_win)
13+
from git.exc import GitCommandError
14+
from git.util import (
15+
LazyMixin,
16+
Iterable,
17+
IterableList,
18+
RemoteProgress,
19+
CallableRemoteProgress
20+
)
21+
from git.util import (
22+
join_path,
23+
)
24+
25+
import os.path as osp
26+
1027
from .config import (
1128
SectionConstraint,
1229
cp,
@@ -18,21 +35,7 @@
1835
SymbolicReference,
1936
TagReference
2037
)
21-
from git.util import (
22-
LazyMixin,
23-
Iterable,
24-
IterableList,
25-
RemoteProgress,
26-
CallableRemoteProgress
27-
)
28-
from git.util import (
29-
join_path,
30-
)
31-
from git.cmd import handle_process_output, Git
32-
from gitdb.util import join
33-
from git.compat import (defenc, force_text, is_win)
34-
import logging
35-
from git.exc import GitCommandError
38+
3639

3740
log = logging.getLogger('git.remote')
3841

@@ -644,7 +647,7 @@ def _get_fetch_info_from_stderr(self, proc, progress):
644647
continue
645648

646649
# read head information
647-
with open(join(self.repo.git_dir, 'FETCH_HEAD'), 'rb') as fp:
650+
with open(osp.join(self.repo.git_dir, 'FETCH_HEAD'), 'rb') as fp:
648651
fetch_head_info = [l.decode(defenc) for l in fp.readlines()]
649652

650653
l_fil = len(fetch_info_lines)

0 commit comments

Comments
 (0)