mirror of
https://github.com/hanzoai/dev.git
synced 2026-10-17 15:34:54 +00:00
fix(core/git_worktree): gate cache copying behind env
This commit is contained in:
@@ -59,8 +59,8 @@ pub const LOCAL_DEFAULT_REMOTE: &str = "local-default";
|
||||
const BRANCH_METADATA_DIR: &str = "_branch-meta";
|
||||
const DEFAULT_BRANCH_CACHE_DIRS: &[&str] = &["node_modules"];
|
||||
|
||||
fn branch_copy_targets_enabled() -> bool {
|
||||
std::env::var("CODEX_BRANCH_COPY_TARGETS")
|
||||
fn branch_copy_cache_dirs_enabled() -> bool {
|
||||
std::env::var("CODEX_BRANCH_COPY_CACHES")
|
||||
.ok()
|
||||
.map(|v| {
|
||||
let v = v.to_ascii_lowercase();
|
||||
@@ -512,26 +512,23 @@ async fn copy_branch_cache_dirs(src_root: &Path, worktree_path: &Path) -> Result
|
||||
}
|
||||
|
||||
fn gather_branch_cache_candidates(src_root: &Path) -> Vec<PathBuf> {
|
||||
let mut out: Vec<PathBuf> = DEFAULT_BRANCH_CACHE_DIRS
|
||||
.iter()
|
||||
.map(PathBuf::from)
|
||||
.collect();
|
||||
let mut out: Vec<PathBuf> = Vec::new();
|
||||
|
||||
if branch_copy_targets_enabled() {
|
||||
if branch_copy_cache_dirs_enabled() {
|
||||
out.extend(DEFAULT_BRANCH_CACHE_DIRS.iter().map(PathBuf::from));
|
||||
append_cargo_targets(src_root, &mut out);
|
||||
if let Some(raw) = std::env::var_os("CARGO_TARGET_DIR") {
|
||||
let path = PathBuf::from(raw);
|
||||
if let Some(rel) = relative_candidate_path(&path, src_root) {
|
||||
out.push(rel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(raw) = std::env::var_os("CODEX_BRANCH_COPY_DIRS") {
|
||||
out.extend(std::env::split_paths(&raw));
|
||||
}
|
||||
|
||||
if let Some(raw) = std::env::var_os("CARGO_TARGET_DIR") {
|
||||
let path = PathBuf::from(raw);
|
||||
if let Some(rel) = relative_candidate_path(&path, src_root) {
|
||||
out.push(rel);
|
||||
}
|
||||
}
|
||||
|
||||
out
|
||||
}
|
||||
|
||||
|
||||
@@ -29,9 +29,9 @@ Notes
|
||||
previous Code snapshot and optionally rewind the conversation to that point.
|
||||
- `/branch [task]`: create a worktree branch and switch to it. If a
|
||||
task/description is provided, it is used when naming the branch. Must be run
|
||||
from the repository root (not inside another branch worktree). By default it
|
||||
only mirrors `node_modules`; set `CODEX_BRANCH_COPY_TARGETS=1` to also copy
|
||||
Rust build caches into the worktree.
|
||||
from the repository root (not inside another branch worktree). Set
|
||||
`CODEX_BRANCH_COPY_CACHES=1` to mirror `node_modules` and Rust build caches
|
||||
into the worktree; otherwise no cache directories are copied automatically.
|
||||
- `/merge`: merge the current worktree branch back into the default branch and
|
||||
remove the worktree. Run this from inside the worktree created by `/branch`.
|
||||
- `/review [focus]`: without arguments, opens a review picker so you can audit
|
||||
|
||||
Reference in New Issue
Block a user