Return (write, bucket) where bucket is 'skip', 'preserved', or None.
(rel: str, dst: Path)
| 403 | variant_dir = "bash" if script_type == "sh" else "powershell" |
| 404 | |
| 405 | def _decide_overwrite(rel: str, dst: Path) -> tuple[bool, str | None]: |
| 406 | """Return (write, bucket) where bucket is 'skip', 'preserved', or None.""" |
| 407 | if not dst.exists(): |
| 408 | return True, None |
| 409 | if force: |
| 410 | return True, None |
| 411 | if refresh_managed: |
| 412 | if _is_managed(rel, dst): |
| 413 | return True, None |
| 414 | if rel in prior_hashes: |
| 415 | return False, "preserved" |
| 416 | return False, "skip" |
| 417 | return False, "skip" |
| 418 | |
| 419 | def _safe_dest_or_bucket(dst: Path, rel: str, *, parent_must_exist: bool = True) -> bool: |
| 420 | """Run the safe-destination check and bucket symlinked paths. |
no test coverage detected