handle repo index errors

This commit is contained in:
Krazer 2025-01-03 08:58:42 -06:00
parent fa5c8a00e4
commit a341c98ec6

View file

@ -285,9 +285,17 @@ class GitRepo:
files = self.tree_files[commit] files = self.tree_files[commit]
else: else:
try: try:
for blob in commit.tree.traverse(): iterator = commit.tree.traverse()
while True:
try:
blob = next(iterator)
if blob.type == "blob": # blob is a file if blob.type == "blob": # blob is a file
files.add(blob.path) files.add(blob.path)
except (IndexError,) + ANY_GIT_ERROR:
self.io.tool_output(f"GitRepo: read error skipping {blob.path}")
continue
except StopIteration:
break
except ANY_GIT_ERROR as err: except ANY_GIT_ERROR as err:
self.git_repo_error = err self.git_repo_error = err
self.io.tool_error(f"Unable to list files in git repo: {err}") self.io.tool_error(f"Unable to list files in git repo: {err}")