Skip to content

Commit

Permalink
Replace use of pygit2 deprecated and removed (1.15.0) oid with id (#673)
Browse files Browse the repository at this point in the history
Co-authored-by: David Murphy <[email protected]>
  • Loading branch information
m-czernek and dmurphy18 authored Aug 21, 2024
1 parent 25c3df7 commit 3f3c8d8
Showing 1 changed file with 16 additions and 15 deletions.
31 changes: 16 additions & 15 deletions salt/utils/gitfs.py
Original file line number Diff line number Diff line change
Expand Up @@ -1683,7 +1683,7 @@ def _perform_checkout(checkout_ref, branch=True):
# remote ref.
self.repo.checkout(checkout_ref)
if branch:
self.repo.reset(oid, pygit2.GIT_RESET_HARD)
self.repo.reset(pygit2_id, pygit2.GIT_RESET_HARD)
return True
except GitLockError as exc:
if exc.errno == errno.EEXIST:
Expand Down Expand Up @@ -1714,11 +1714,11 @@ def _perform_checkout(checkout_ref, branch=True):
tag_ref = "refs/tags/" + tgt_ref
if remote_ref in refs:
# Get commit id for the remote ref
oid = self.peel(self.repo.lookup_reference(remote_ref)).id
pygit2_id = self.peel(self.repo.lookup_reference(remote_ref)).id
if local_ref not in refs:
# No local branch for this remote, so create one and point
# it at the commit id of the remote ref
self.repo.create_reference(local_ref, oid)
self.repo.create_reference(local_ref, pygit2_id)

try:
target_sha = self.peel(self.repo.lookup_reference(remote_ref)).hex
Expand Down Expand Up @@ -1749,7 +1749,8 @@ def _perform_checkout(checkout_ref, branch=True):
# cachedir).
head_ref = local_head.target
# If head_ref is not a string, it will point to a
# pygit2.Oid object and we are in detached HEAD mode.
# pygit2.id object (oid is deprecated and removed) and
# we are in detached HEAD mode.
# Therefore, there is no need to add a local reference. If
# head_ref == local_ref, then the local reference for HEAD
# in refs/heads/ already exists and again, no need to add.
Expand Down Expand Up @@ -1918,10 +1919,10 @@ def _traverse(tree, blobs, prefix):
the empty directories within it in the "blobs" list
"""
for entry in iter(tree):
if entry.oid not in self.repo:
if entry.id not in self.repo:
# Entry is a submodule, skip it
continue
blob = self.repo[entry.oid]
blob = self.repo[entry.id]
if not isinstance(blob, pygit2.Tree):
continue
blobs.append(
Expand All @@ -1940,8 +1941,8 @@ def _traverse(tree, blobs, prefix):
return ret
if self.root(tgt_env):
try:
oid = tree[self.root(tgt_env)].oid
tree = self.repo[oid]
pygit2_id = tree[self.root(tgt_env)].id
tree = self.repo[pygit2_id]
except KeyError:
return ret
if not isinstance(tree, pygit2.Tree):
Expand Down Expand Up @@ -2056,17 +2057,17 @@ def _traverse(tree, blobs, prefix):
the file paths and symlink info in the "blobs" dict
"""
for entry in iter(tree):
if entry.oid not in self.repo:
if entry.id not in self.repo:
# Entry is a submodule, skip it
continue
obj = self.repo[entry.oid]
obj = self.repo[entry.id]
if isinstance(obj, pygit2.Blob):
repo_path = salt.utils.path.join(
prefix, entry.name, use_posixpath=True
)
blobs.setdefault("files", []).append(repo_path)
if stat.S_ISLNK(tree[entry.name].filemode):
link_tgt = self.repo[tree[entry.name].oid].data
link_tgt = self.repo[tree[entry.name].id].data
blobs.setdefault("symlinks", {})[repo_path] = link_tgt
elif isinstance(obj, pygit2.Tree):
_traverse(
Expand All @@ -2085,8 +2086,8 @@ def _traverse(tree, blobs, prefix):
try:
# This might need to be changed to account for a root that
# spans more than one directory
oid = tree[self.root(tgt_env)].oid
tree = self.repo[oid]
pygit2_id = tree[self.root(tgt_env)].id
tree = self.repo[pygit2_id]
except KeyError:
return files, symlinks
if not isinstance(tree, pygit2.Tree):
Expand Down Expand Up @@ -2130,12 +2131,12 @@ def find_file(self, path, tgt_env):
# path's object ID will be the target of the symlink. Follow
# the symlink and set path to the location indicated
# in the blob data.
link_tgt = self.repo[entry.oid].data
link_tgt = self.repo[entry.id].data
path = salt.utils.path.join(
os.path.dirname(path), link_tgt, use_posixpath=True
)
else:
blob = self.repo[entry.oid]
blob = self.repo[entry.id]
if isinstance(blob, pygit2.Tree):
# Path is a directory, not a file.
blob = None
Expand Down

0 comments on commit 3f3c8d8

Please sign in to comment.