Skip to content

Commit ef32490

Browse files
authored
Merge pull request #1305 from gitpython-developers/typing
Improve types of objects/
2 parents 37fa31d + a5a05d1 commit ef32490

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

git/objects/commit.py

+1
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ def __init__(self, repo: 'Repo', binsha: bytes, tree: Union[Tree, None] = None,
128128
as what time.altzone returns. The sign is inverted compared to git's
129129
UTC timezone."""
130130
super(Commit, self).__init__(repo, binsha)
131+
self.binsha = binsha
131132
if tree is not None:
132133
assert isinstance(tree, Tree), "Tree needs to be a Tree instance, was %s" % type(tree)
133134
if tree is not None:

git/objects/submodule/base.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -563,6 +563,7 @@ def update(self, recursive: bool = False, init: bool = True, to_latest_revision:
563563
progress.update(op, i, len_rmts, prefix + "Done fetching remote of submodule %r" % self.name)
564564
# END fetch new data
565565
except InvalidGitRepositoryError:
566+
mrepo = None
566567
if not init:
567568
return self
568569
# END early abort if init is not allowed
@@ -603,7 +604,7 @@ def update(self, recursive: bool = False, init: bool = True, to_latest_revision:
603604

604605
# make sure HEAD is not detached
605606
mrepo.head.set_reference(local_branch, logmsg="submodule: attaching head to %s" % local_branch)
606-
mrepo.head.ref.set_tracking_branch(remote_branch)
607+
mrepo.head.reference.set_tracking_branch(remote_branch)
607608
except (IndexError, InvalidGitRepositoryError):
608609
log.warning("Failed to checkout tracking branch %s", self.branch_path)
609610
# END handle tracking branch
@@ -629,13 +630,14 @@ def update(self, recursive: bool = False, init: bool = True, to_latest_revision:
629630
if mrepo is not None and to_latest_revision:
630631
msg_base = "Cannot update to latest revision in repository at %r as " % mrepo.working_dir
631632
if not is_detached:
632-
rref = mrepo.head.ref.tracking_branch()
633+
rref = mrepo.head.reference.tracking_branch()
633634
if rref is not None:
634635
rcommit = rref.commit
635636
binsha = rcommit.binsha
636637
hexsha = rcommit.hexsha
637638
else:
638-
log.error("%s a tracking branch was not set for local branch '%s'", msg_base, mrepo.head.ref)
639+
log.error("%s a tracking branch was not set for local branch '%s'",
640+
msg_base, mrepo.head.reference)
639641
# END handle remote ref
640642
else:
641643
log.error("%s there was no local tracking branch", msg_base)

git/objects/submodule/root.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
Submodule,
33
UpdateProgress
44
)
5-
from .util import (
6-
find_first_remote_branch
7-
)
5+
from .util import find_first_remote_branch
86
from git.exc import InvalidGitRepositoryError
97
import git
108

0 commit comments

Comments
 (0)