feat(worktree): add move-all dirty policy

This commit is contained in:
Felipe Coury
2026-05-08 14:13:46 -03:00
parent 700f1e4a38
commit 6e460f31cd
6 changed files with 150 additions and 22 deletions

View File

@@ -789,6 +789,7 @@ fn dirty_policy_from_cli(arg: WorktreeDirtyCliArg) -> DirtyPolicy {
WorktreeDirtyCliArg::Ignore => DirtyPolicy::Ignore,
WorktreeDirtyCliArg::CopyTracked => DirtyPolicy::CopyTracked,
WorktreeDirtyCliArg::CopyAll => DirtyPolicy::CopyAll,
WorktreeDirtyCliArg::MoveAll => DirtyPolicy::MoveAll,
}
}
@@ -2418,6 +2419,20 @@ mod tests {
);
}
#[test]
fn top_level_worktree_flags_parse_move_all_dirty_policy() {
let cli = MultitoolCli::try_parse_from([
"codex",
"--worktree",
"parser-fix",
"--worktree-dirty",
"move-all",
])
.expect("worktree flags should parse");
assert_eq!(cli.interactive.worktree_dirty, WorktreeDirtyCliArg::MoveAll);
}
#[test]
fn worktree_subcommand_parses() {
let cli = MultitoolCli::try_parse_from(["codex", "worktree", "list", "--all", "--json"])