Improve error logging in verify_repo_provider before AuthenticationError (#9530)

Co-authored-by: openhands <openhands@all-hands.dev>
This commit is contained in:
Rohit Malhotra 2025-07-07 10:02:46 -05:00 committed by GitHub
parent 97e3310dd5
commit 21a5e3eed5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -325,20 +325,26 @@ class ProviderHandler:
async def verify_repo_provider(
self, repository: str, specified_provider: ProviderType | None = None
) -> Repository:
errors = []
if specified_provider:
try:
service = self._get_service(specified_provider)
return await service.get_repository_details_from_repo_name(repository)
except Exception:
pass
except Exception as e:
errors.append(f'{specified_provider.value}: {str(e)}')
for provider in self.provider_tokens:
try:
service = self._get_service(provider)
return await service.get_repository_details_from_repo_name(repository)
except Exception:
pass
except Exception as e:
errors.append(f'{provider.value}: {str(e)}')
# Log all accumulated errors before raising AuthenticationError
logger.error(
f'Failed to access repository {repository} with all available providers. Errors: {"; ".join(errors)}'
)
raise AuthenticationError(f'Unable to access repo {repository}')
async def get_branches(