diff --git a/pr_agent/algo/file_filter.py b/pr_agent/algo/file_filter.py index cc466f57..32c61155 100644 --- a/pr_agent/algo/file_filter.py +++ b/pr_agent/algo/file_filter.py @@ -23,7 +23,7 @@ def filter_ignored(files): # keep filenames that _don't_ match the ignore regex for r in compiled_patterns: - files = [f for f in files if not r.match(f.filename)] + files = [f for f in files if (f.filename and not r.match(f.filename))] except Exception as e: print(f"Could not filter file list: {e}") diff --git a/pr_agent/git_providers/bitbucket_provider.py b/pr_agent/git_providers/bitbucket_provider.py index 1301805f..155b03ec 100644 --- a/pr_agent/git_providers/bitbucket_provider.py +++ b/pr_agent/git_providers/bitbucket_provider.py @@ -138,8 +138,15 @@ class BitbucketProvider(GitProvider): diff_split[index], diff.new.path, ) + if diff.data['status'] == 'added': file_patch_canonic_structure.edit_type = EDIT_TYPE.ADDED + elif diff.data['status'] == 'removed': + file_patch_canonic_structure.edit_type = EDIT_TYPE.DELETED + elif diff.data['status'] == 'modified': + file_patch_canonic_structure.edit_type = EDIT_TYPE.MODIFIED + elif diff.data['status'] == 'renamed': + file_patch_canonic_structure.edit_type = EDIT_TYPE.RENAMED diff_files.append(file_patch_canonic_structure) diff --git a/pr_agent/git_providers/git_provider.py b/pr_agent/git_providers/git_provider.py index 01308f45..59bf5956 100644 --- a/pr_agent/git_providers/git_provider.py +++ b/pr_agent/git_providers/git_provider.py @@ -154,6 +154,8 @@ def get_main_pr_language(languages, files) -> str: # validate that the specific commit uses the main language extension_list = [] for file in files: + if not file: + continue if isinstance(file, str): file = FilePatchInfo(base_file=None, head_file=None, patch=None, filename=file) extension_list.append(file.filename.rsplit('.')[-1])