Skip to content

fix(doctor): remove ineffective "Copy on Write Git Clones" check - #906

Merged
matt2e merged 1 commit into
mainfrom
cow-git
Aug 5, 2026
Merged

fix(doctor): remove ineffective "Copy on Write Git Clones" check#906
matt2e merged 1 commit into
mainfrom
cow-git

Conversation

@matt2e

@matt2e matt2e commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Removes the git-clonefile doctor check, which nagged every user with a permanent Warn for no benefit.

Why

  • The check read/wrote core.clonefile, which git does not recognize — git silently ignores unknown core.* keys, so setting it does nothing.
  • Staged creates worktrees with plain git worktree add, which writes files fresh from the object store. There is no file-copy step a copy-on-write filesystem could accelerate.
  • Net effect: users saw a persistent warning whose only "fix" was writing an inert key into their global gitconfig.

Changes

  • Delete check_clonefile() and the CLONEFILE_FIX_COMMAND constant (crates/doctor/src/checks.rs).
  • Drop the git-clonefile special case from lookup_fix_command() (crates/doctor/src/agents.rs).
  • Remove the check's spawn/join wiring from collect_base_report() (crates/doctor/src/lib.rs).

No app-side changes needed: the settings panel renders checks generically, and the only remaining clonefile(2) use is the unrelated image copy in session_commands.rs.

🤖 Generated with Claude Code

The check read and set `core.clonefile`, a git config key that git does
not recognize (git silently ignores unknown `core.*` keys), and staged's
worktree creation runs plain `git worktree add`, which writes files
fresh from the object store — there is no file-copy step a
copy-on-write filesystem could accelerate. The check therefore nagged
every user with a permanent Warn until they wrote an inert key into
their global gitconfig.

Delete `check_clonefile()`, the `CLONEFILE_FIX_COMMAND` constant, the
`git-clonefile` special case in `lookup_fix_command()`, and the check's
spawn/join wiring in `run_checks`. The staged app needed no changes:
the settings panel renders checks generically, and the only remaining
`clonefile(2)` use is the unrelated image copy in session_commands.rs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Matt Toohey <contact@matttoohey.com>
@matt2e
matt2e requested review from baxen and wesbillman as code owners August 5, 2026 01:15
@matt2e
matt2e merged commit ee5e45b into main Aug 5, 2026
6 checks passed
@matt2e
matt2e deleted the cow-git branch August 5, 2026 01:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant