feat: add an option to skip copying local files #9
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/no-copy"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
--no-copycreates a worktree without bringing over untracked or ignored local files, including local credentials and fixtures. Combine it with--no-setupwhen only the checkout is needed.Copying stays enabled by default. Keeping the two flags independent preserves the published meaning of
--no-setup; making that flag disable copying would change existing invocations.Review
01M5PZB9J3Y5W4B965DYFN0S4D— head1190ca21c43d96c428cb169d8576bd6179314b9cReview — j4k-oss/worktree-add @
e4531694e0Scope: diff against base tree
d4285197bfe0Review finished: 10 succeeded, 0 failed
Triage: settled
Facts: current review-wide projection
Computed under:
Findings (1)
low — Reporting a skipped stage is now copied per stage in
runWorktreeAdd, and each copy goes around the status logger01M5PZHQSSFN5XBSXF0P4KMM7Rsrc/cli/run-worktree-add.ts(snippet)01M5PZJERVSFNSVW19PC8R649Y· valid: Grounded excerpt (exact) shows the new --no-copy skip triad. This claim's body and the companion module-design claim in this batch both describe the --no-setup block with the same shape, and the companion quotes its arms. That establishes the APoSD Repetition red flag: a nontrivial three-arm branch now appears twice in runWorktreeAdd. It also supports principle 10 (pull complexity downward): dry-run wording and the choice of output channel are decided at each skip site instead of in one helper or logger operation. The point about the missing '➤ ' decoration is the reviewer's static reasoning, and it is coherent: a raw console.error cannot pick up the logger's decorate prefix. It adds an inconsistency argument but is not essential to the finding. 'Repeated over and over' overstates two copies, and the visibility rule is partly the logger's legitimate public interface (step is verbose-only by design). Neither objection removes the supported repetition and the missing single home. Both remedies, a logger skipped() method or a local helper, fix it while preserving the pinned output. Low severity fits. This agrees with the earlier valid verdict on prior claim 01M5PZCB8VTNFMHJSNPY1Y4GVW. Nothing in this batch changes that assessment.01M5PZHRQB4NESJGFH78SDXS0S(module-design)Other claims
01M5PZHRQB4NESJGFH78SDXS0Slow —--no-copycopies the--no-setupskip-notice branch, so the rule for announcing a skipped step now lives in two places →01M5PZHQSSFN5XBSXF0P4KMM7RCoverage
Coverage pass: 01M5PZBN3N4W85FF8KHY8DGSXG
Accounting: complete (all slots terminal; see slot results for failures)
Slot health: healthy
@ -146,0 +145,8 @@dryRun,logger,});} else if (dryRun) {logger.step("Would skip copying untracked and ignored local files (--no-copy).");} else {console.error("Skipping copying untracked and ignored local files (--no-copy).");}low — Reporting a skipped stage is now copied per stage in
runWorktreeAdd, and each copy goes around the status loggerlens
aposd-plain· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M5PZHQSSFN5XBSXF0P4KMM7Rof review01M5PZB9J3Y5W4B965DYFN0S4DThe two skip-message branches share a shape, and normal skip notices follow the existing --no-setup behavior: always-visible stderr text without the verbose step decoration. Dry-run notices remain truthful. This bounded change adds an independent copy toggle; the session scope explicitly prioritizes the simple implementation and excludes optional logger/shared-stage abstractions. The suggested extraction is therefore declined for this task, with no follow-up. No correctness defect was found, and this is not claimed fixed.
Reviewed head:
1190ca21c4.