From 6ebe88bb926c86779ba03a6c865846bb0517db88 Mon Sep 17 00:00:00 2001 From: Fewwan Date: Sat, 11 Oct 2025 10:24:57 +0200 Subject: [PATCH 1/2] fix: improve ignore list handling in Project class --- src/beet/toolchain/project.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/beet/toolchain/project.py b/src/beet/toolchain/project.py index 4c5c35cbd..78bf6eaa3 100644 --- a/src/beet/toolchain/project.py +++ b/src/beet/toolchain/project.py @@ -104,12 +104,17 @@ def cache(self) -> ProjectCache: @property def ignore(self) -> List[str]: - ignore = list(self.config.ignore) + ignore = set(self.config.ignore) if self.output_directory and self.directory in self.output_directory.parents: - ignore.append( - f"{self.output_directory.relative_to(self.directory).as_posix()}/" - ) - return ignore + ignore.add(f"{self.output_directory.relative_to(self.directory).as_posix()}/") + for entry in self.config.pipeline: + if isinstance(entry, ProjectConfig): + ignore.update(entry.ignore) + if entry.output: + output_directory = Path(entry.output) + if entry.directory in output_directory.parents: + ignore.add(f"{output_directory.relative_to(entry.directory).as_posix()}/") + return list(ignore) @property def worker_pool(self): From aed3234b9cde9cdeaa75887c277997f98648c3cc Mon Sep 17 00:00:00 2001 From: Valentin Berlier Date: Wed, 3 Dec 2025 01:52:58 +0100 Subject: [PATCH 2/2] chore: format --- src/beet/toolchain/project.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/beet/toolchain/project.py b/src/beet/toolchain/project.py index 78bf6eaa3..9fd90ab13 100644 --- a/src/beet/toolchain/project.py +++ b/src/beet/toolchain/project.py @@ -106,14 +106,18 @@ def cache(self) -> ProjectCache: def ignore(self) -> List[str]: ignore = set(self.config.ignore) if self.output_directory and self.directory in self.output_directory.parents: - ignore.add(f"{self.output_directory.relative_to(self.directory).as_posix()}/") + ignore.add( + f"{self.output_directory.relative_to(self.directory).as_posix()}/" + ) for entry in self.config.pipeline: if isinstance(entry, ProjectConfig): ignore.update(entry.ignore) if entry.output: output_directory = Path(entry.output) if entry.directory in output_directory.parents: - ignore.add(f"{output_directory.relative_to(entry.directory).as_posix()}/") + ignore.add( + f"{output_directory.relative_to(entry.directory).as_posix()}/" + ) return list(ignore) @property