Skip to content

Commit e7eb9a0

Browse files
Merge pull request #154 from abnamro/2578799-skip-empty-repo
[#2578799] Skip scanning empty repositories
2 parents c4adb1b + 94b758f commit e7eb9a0

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

components/resc-vcs-scanner/src/vcs_scanner/secret_scanners/cli.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,8 @@ def scan_repository(args: Namespace):
260260
username=args.username,
261261
personal_access_token=args.password,
262262
local_path=f"{args.dir.absolute()}",
263-
force_base_scan=args.force_base_scan
263+
force_base_scan=args.force_base_scan,
264+
latest_commit="unknown"
264265
)
265266

266267
secret_scanner.run_repository_scan()

components/resc-vcs-scanner/src/vcs_scanner/secret_scanners/secret_scanner.py

+5
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@ def clone_repo(self) -> str:
6666
return repo_clone_path
6767

6868
def run_repository_scan(self) -> None:
69+
if not self.latest_commit:
70+
# There is no latest commit for this repository, assuming that its empty
71+
logger.info(f"Skipping scanning of {self.repository.project_key}/{self.repository.repository_name} "
72+
f"there are no commits")
73+
return
6974
logger.info(
7075
f"Started task for scanning {self.repository.repository_name} using "
7176
f"rule pack version: {self.rule_pack_version}")

components/resc-vcs-scraper/src/vcs_scraper/repository_collector/common.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,14 @@ def extract_project_information(project_key, vcs_client, vcs_instance_name):
4242
logger.info(f"Fetching latest commit for repository: '{project_key}/{repository['name']}'")
4343
latest_commit = vcs_client.get_latest_commit(project_key=project_key, repository_id=repository["name"])
4444
task_parameters = vcs_client.export_repository(repository, latest_commit, vcs_instance_name)
45-
project_tasks.append(task_parameters)
45+
if latest_commit:
46+
project_tasks.append(task_parameters)
47+
logger.info(f"Information for repository: '{project_key}/{repository['name']}' "
48+
f"was fetched successfully")
49+
else:
50+
# Repository has no commits, will not forward to scanner
51+
logger.info(f"Repository: '{project_key}/{repository['name']}' has no commits, skipping")
4652

47-
logger.info(f"Information for repository: '{project_key}/{repository['name']}' was fetched successfully")
4853
except requests.exceptions.HTTPError as http_exception:
4954
logger.error(
5055
f"Error while processing repository '{project_key}/{repository['name']}':"

0 commit comments

Comments
 (0)