Skip to main content

repo_dir_name

Function repo_dir_name 

Source
pub(crate) fn repo_dir_name(url: &str) -> String
Expand description

Compute a PackageEntry’s expected on-disk path. PURE — no I/O, no logging, no cloning. path: entries land at manifest_dir/path; url: entries land at cache_root/<name> (whether or not it’s been cloned yet). Use entry_path_exists_on_disk to check presence; use the public cmd::fetch::clone_remote_packages (called from rbnx build) to actually populate the cache. Cache directory name for a url-remote package: the git REPO name (last path segment of the url, minus .git), NOT the per-instance provider id.

A single repo can back several providers/instances in one manifest (each with its own name/provider_id); they must share ONE clone. Keying the cache dir by name would clone the same repo once per instance — and the directory wouldn’t reflect what was actually cloned. Key it by the repo.

Compatibility forwarding entry for sibling commands. The implementation lives in robonix_cli::manifest so Soma and rbnx use one rule.