Repo panel git status takes index.lock every 15s; drop safe.directory=* #5

Closed
opened 2026-10-07 20:04:26 -04:00 by jared · 0 comments
Owner

Source: engineering review, 2026-10-07.

Every session refresh calls refreshRepo, which runs git status in the session folder (bin/devdesk cmd_repo):

  • git status rewrites .git/index under index.lock, so Claude's own git commands hit intermittent index.lock exists errors.
  • -c safe.directory='*' also re-enables core.fsmonitor execution in repos owned by other users.

Fix: use git --no-optional-locks, drop the safe.directory='*' override, and refresh repo status on bell or every 60s instead of every list refresh.

_Source: engineering review, 2026-10-07._ Every session refresh calls `refreshRepo`, which runs `git status` in the session folder (`bin/devdesk` `cmd_repo`): - `git status` rewrites `.git/index` under `index.lock`, so Claude's own git commands hit intermittent `index.lock exists` errors. - `-c safe.directory='*'` also re-enables `core.fsmonitor` execution in repos owned by other users. **Fix:** use `git --no-optional-locks`, drop the `safe.directory='*'` override, and refresh repo status on bell or every 60s instead of every list refresh.
jared added this to the v0.5.0 hardening + header/phone milestone 2026-10-07 20:04:26 -04:00
jared added the bugperformance labels 2026-10-07 20:04:26 -04:00
jared closed this issue 2026-10-07 20:15:49 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/devdesk#5