don't resolve absolute paths for flake uri

pathlib.Path("git+file:///foo").resolve() might resolve to urls like
PosixPath('/home/joerg/work/clan/clan-core/git+file:/foo'). If those
then actually exist, this can have weird behavior. We should in general
avoid changing directories for everything except for subprocess.run.
This commit is contained in:
Jörg Thalheim
2025-07-29 14:51:24 +02:00
parent 6c84b2e100
commit 0908a2efb8

View File

@@ -2,7 +2,6 @@ import argparse
import contextlib
import logging
import sys
from pathlib import Path
from types import ModuleType
from clan_lib.custom_logger import setup_logging
@@ -37,13 +36,6 @@ with contextlib.suppress(ImportError):
import argcomplete # type: ignore[no-redef]
def flake_path(arg: str) -> str:
flake_dir = Path(arg).resolve()
if flake_dir.exists() and flake_dir.is_dir():
return str(flake_dir)
return arg
def default_flake() -> str | None:
val = get_clan_flake_toplevel_or_env()
if val:
@@ -98,7 +90,6 @@ def add_common_flags(parser: argparse.ArgumentParser) -> None:
help="path to the flake where the clan resides in, can be a remote flake or local, can be set through the [CLAN_DIR] environment variable",
default=default_flake(),
metavar="PATH",
type=flake_path,
)