From 8d8b8c0d57b276bf1ba8bc5590c5b83f6bfccdb2 Mon Sep 17 00:00:00 2001 From: Simon Gerber Date: Tue, 19 Jul 2022 11:42:05 +0200 Subject: [PATCH] Use `Path.parents` to determine if a dependency is created in a Commodore working tree We don't need to use the ugly exception-based check to figure out if the dependency directory is a subdirectory of the Commodore `dependencies/` directory. Instead we can just check if the `dependencies` directory is one of the dependency directory's parents. Co-authored-by: Fabian Fischer <10788152+glrf@users.noreply.github.com> --- commodore/dependency_templater.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/commodore/dependency_templater.py b/commodore/dependency_templater.py index fae9cb27..19c8a740 100644 --- a/commodore/dependency_templater.py +++ b/commodore/dependency_templater.py @@ -135,17 +135,9 @@ def create(self) -> None: + f"{self.target_dir} already exists." ) - want_worktree = True - try: - # Use target_dir.relative_to(work_dir / "dependencies") to determine whether - # the new dependency is created in a commodore working tree (i.e. as a - # subdirectory of `work_dir / "dependencies"`). - _ = self.target_dir.absolute().relative_to( - self.config.inventory.dependencies_dir.absolute() - ) - except ValueError: - want_worktree = False - + want_worktree = ( + self.config.inventory.dependencies_dir in self.target_dir.parents + ) if want_worktree: md = MultiDependency(self.repo_url, self.config.inventory.dependencies_dir) md.initialize_worktree(self.target_dir)