handle oserrors when enumerating repo files #780

This commit is contained in:
Paul Gauthier 2024-07-02 19:59:03 -03:00
parent af29e633b2
commit 7a3b0d6ddb

View file

@ -1223,13 +1223,19 @@ class Coder:
files = [self.get_rel_fname(fname) for fname in self.abs_fnames] files = [self.get_rel_fname(fname) for fname in self.abs_fnames]
return sorted(set(files)) return sorted(set(files))
def is_file_safe(self, fname):
try:
return Path(self.abs_root_path(fname)).is_file()
except OSError:
return
def get_all_relative_files(self): def get_all_relative_files(self):
if self.repo: if self.repo:
files = self.repo.get_tracked_files() files = self.repo.get_tracked_files()
else: else:
files = self.get_inchat_relative_files() files = self.get_inchat_relative_files()
files = [fname for fname in files if Path(self.abs_root_path(fname)).is_file()] files = [fname for fname in files if self.is_file_safe(fname)]
return sorted(set(files)) return sorted(set(files))
def get_all_abs_files(self): def get_all_abs_files(self):