Merge pull request #9754 from shanemcd/git-race

Fix race condition that causes InvalidGitRepositoryError

Reviewed-by: Elijah DeLee <kdelee@redhat.com>
This commit is contained in:
softwarefactory-project-zuul[bot] 2021-03-30 18:06:32 +00:00 committed by GitHub
commit 5cd44cde99
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1807,13 +1807,14 @@ class RunJob(BaseTask):
logger.debug('Performing fresh clone of {} on this instance.'.format(job.project))
sync_needs.append(source_update_tag)
elif job.project.scm_type == 'git' and job.project.scm_revision and (not branch_override):
git_repo = git.Repo(project_path)
try:
git_repo = git.Repo(project_path)
if job_revision == git_repo.head.commit.hexsha:
logger.debug('Skipping project sync for {} because commit is locally available'.format(job.log_format))
else:
sync_needs.append(source_update_tag)
except (ValueError, BadGitName):
except (ValueError, BadGitName, git.exc.InvalidGitRepositoryError):
logger.debug('Needed commit for {} not in local source tree, will sync with remote'.format(job.log_format))
sync_needs.append(source_update_tag)
else: