@@ -79,7 +79,7 @@ def __init__(
7979 self .pr = None
8080 self .temp_comments = []
8181 self .incremental = incremental
82- self .unreviewed_files_set = {}
82+ self .unreviewed_files_map = {}
8383 self .pr_commits = None
8484 self .previous_review = None
8585 if pr_url :
@@ -194,7 +194,7 @@ def get_incremental_commits(self, incremental=None):
194194 incremental = IncrementalPR (False )
195195 self .incremental = incremental
196196 if self .incremental .is_incremental :
197- self .unreviewed_files_set = {}
197+ self .unreviewed_files_map = {}
198198 self ._get_incremental_commits ()
199199
200200 def _get_incremental_commits (self ):
@@ -245,10 +245,10 @@ def _get_incremental_commits(self):
245245
246246 if candidate_paths :
247247 deduped = list (dict .fromkeys (candidate_paths ))
248- filtered = filter_ignored (deduped , ' azure' )
248+ filtered = filter_ignored (deduped , " azure" )
249249 for path in filtered :
250250 if is_valid_file (path ):
251- self .unreviewed_files_set [path ] = path
251+ self .unreviewed_files_map [path ] = path
252252 elif had_errors and self .incremental .commits_range :
253253 get_logger ().warning (
254254 "Failed to fetch changes for incremental commits; falling back to full review."
@@ -287,7 +287,10 @@ def get_previous_review(self, *, full: bool, incremental: bool):
287287 matches .append (comment )
288288 if not matches :
289289 return None
290- latest = max (matches , key = lambda c : _to_naive_utc (getattr (c , "published_date" , None )) or _dt .datetime .min )
290+ latest = max (
291+ matches ,
292+ key = lambda c : _to_naive_utc (getattr (c , "published_date" , None )) or _dt .datetime .min ,
293+ )
291294 latest .html_url = self .get_comment_url (latest )
292295 latest .created_at = _to_naive_utc (getattr (latest , "published_date" , None ))
293296 return latest
@@ -311,8 +314,8 @@ def get_repo_settings(self):
311314 def get_files (self ):
312315 if (isinstance (getattr (self , "incremental" , None ), IncrementalPR )
313316 and self .incremental .is_incremental
314- and self .unreviewed_files_set ):
315- return list (self .unreviewed_files_set .keys ())
317+ and self .unreviewed_files_map ):
318+ return list (self .unreviewed_files_map .keys ())
316319 return self ._get_files_full ()
317320
318321 def _get_files_full (self ):
@@ -335,7 +338,7 @@ def _get_files_full(self):
335338 def get_diff_files (self ) -> list [FilePatchInfo ]:
336339 try :
337340
338- if self .diff_files :
341+ if self .diff_files is not None :
339342 return self .diff_files
340343
341344 if self .pr .last_merge_commit is None or self .pr .last_merge_target_commit is None :
@@ -403,7 +406,7 @@ def get_diff_files(self) -> list[FilePatchInfo]:
403406 # diffs = list(set(diffs))
404407
405408 diffs_original = diffs
406- diffs = filter_ignored (diffs_original , ' azure' )
409+ diffs = filter_ignored (diffs_original , " azure" )
407410 if diffs_original != diffs :
408411 try :
409412 get_logger ().info (f"Filtered out [ignore] files for pull request:" , extra =
@@ -415,11 +418,11 @@ def get_diff_files(self) -> list[FilePatchInfo]:
415418 incremental_active = (
416419 isinstance (getattr (self , "incremental" , None ), IncrementalPR )
417420 and self .incremental .is_incremental
418- and bool (self .unreviewed_files_set )
421+ and bool (self .unreviewed_files_map )
419422 and self .incremental .last_seen_commit_sha
420423 )
421424 if incremental_active :
422- diffs = [f for f in diffs if f in self .unreviewed_files_set ]
425+ diffs = [f for f in diffs if f in self .unreviewed_files_map ]
423426
424427 invalid_files_names = []
425428 for file in diffs :
@@ -459,51 +462,53 @@ def get_diff_files(self) -> list[FilePatchInfo]:
459462 elif "rename" in diff_types [file ]: # diff_type can be `rename` | `edit, rename`
460463 edit_type = EDIT_TYPE .RENAMED
461464
462- version = GitVersionDescriptor (
463- version = base_sha .commit_id , version_type = "commit"
464- )
465465 if edit_type == EDIT_TYPE .ADDED or edit_type == EDIT_TYPE .RENAMED :
466466 original_file_content_str = ""
467- else :
467+ elif incremental_active :
468+ inc_version = GitVersionDescriptor (
469+ version = self .incremental .last_seen_commit_sha , version_type = "commit"
470+ )
468471 try :
469- original_file_content_str = self .azure_devops_client .get_item (
472+ inc_original = self .azure_devops_client .get_item (
470473 repository_id = self .repo_slug ,
471474 path = file ,
472475 project = self .workspace_slug ,
473- version_descriptor = version ,
476+ version_descriptor = inc_version ,
474477 download = False ,
475478 include_content = True ,
476479 )
477- original_file_content_str = original_file_content_str .content
480+ original_file_content_str = inc_original .content or ""
478481 except Exception as error :
479- get_logger ().error (f"Failed to retrieve original file content of { file } at version { version } " , error = error )
482+ get_logger ().warning (
483+ f"Failed to retrieve original of { file } at { self .incremental .last_seen_commit_sha } : { error } "
484+ )
480485 original_file_content_str = ""
481-
482- if incremental_active :
483- inc_version = GitVersionDescriptor (
484- version = self .incremental .last_seen_commit_sha , version_type = "commit"
486+ else :
487+ base_version = GitVersionDescriptor (
488+ version = base_sha .commit_id , version_type = "commit"
485489 )
486490 try :
487- inc_original = self .azure_devops_client .get_item (
491+ base_original = self .azure_devops_client .get_item (
488492 repository_id = self .repo_slug ,
489493 path = file ,
490494 project = self .workspace_slug ,
491- version_descriptor = inc_version ,
495+ version_descriptor = base_version ,
492496 download = False ,
493497 include_content = True ,
494498 )
495- original_file_content_str = inc_original .content or ""
499+ original_file_content_str = base_original .content
496500 except Exception as error :
497- get_logger ().warning (
498- f"Failed to retrieve original of { file } at { self .incremental .last_seen_commit_sha } : { error } "
501+ get_logger ().error (
502+ f"Failed to retrieve original file content of { file } at version { base_version } " ,
503+ error = error ,
499504 )
500505 original_file_content_str = ""
501506
502507 patch = load_large_diff (
503508 file , new_file_content_str , original_file_content_str , show_warning = False
504509 ).rstrip ()
505510 if incremental_active :
506- self .unreviewed_files_set [file ] = patch
511+ self .unreviewed_files_map [file ] = patch
507512
508513 # count number of lines added and removed
509514 patch_lines = patch .splitlines (keepends = True )
0 commit comments