From 283ef7d1f4d85812dccd3b7e05441cfc05c59b4c Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 5 May 2026 13:17:15 +0900 Subject: feat(vcs): wire cache-vcs-dir setting through to drivers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DriverConfig used to expose a generic cache_dir hardcoded to a relative ".cache/mozart/vcs", with each driver appending its own "git"/"hg" subdir. As a result, the cache-vcs-dir setting (and COMPOSER_CACHE_VCS_DIR env var) had no effect on where mirrors were actually stored. Replace cache_dir with cache_vcs_dir, resolving its default the same way Composer does (COMPOSER_CACHE_VCS_DIR → COMPOSER_CACHE_DIR/vcs → XDG/HOME fallbacks), and have GitDriver/HgDriver use it directly. This brings the Mozart cache layout in line with Composer's: a single shared vcs root with one subdirectory per sanitized URL. --- crates/mozart-vcs/src/driver/git.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/mozart-vcs/src/driver/git.rs') diff --git a/crates/mozart-vcs/src/driver/git.rs b/crates/mozart-vcs/src/driver/git.rs index 43f4ecb..090a5fa 100644 --- a/crates/mozart-vcs/src/driver/git.rs +++ b/crates/mozart-vcs/src/driver/git.rs @@ -27,7 +27,7 @@ impl GitDriver { pub fn new(url: &str, config: DriverConfig) -> Self { let is_local = Self::is_local_path(url); let process = ProcessExecutor::new(); - let git_util = GitUtil::new(process, config.cache_dir.join("git")); + let git_util = GitUtil::new(process, config.cache_vcs_dir.clone()); Self { url: url.to_string(), repo_dir: if is_local { -- cgit v1.3.1