Skip to content

fix(server): let slow worktree submodule checkouts finish - #5

Open
iXab3r wants to merge 1 commit into
upstreamfrom
bugfix/worktree-submodule-timeout
Open

iXab3r wants to merge 1 commit into
upstreamfrom
bugfix/worktree-submodule-timeout

Conversation

@iXab3r

@iXab3r iXab3r commented Nov 1, 2026 •

Copy link
Copy Markdown
Owner

Problem

Submodule initialization inherits Git's 30-second total deadline. Slow clones are interrupted mid-checkout, but worktree creation still succeeds. The reported Windows 0.1.5 trace confirms a timeout after 30.9 seconds.

Change

Set timeoutMs: null only for the submodule update, matching the existing cancellable git worktree add path. Cancellation and best-effort failure handling remain unchanged; the warning now describes submodules as potentially incomplete.

Scope and approval

Follows #26409 to fix the 30-second submodule-update timeout reported in #26390. #7674 introduced automatic initialization; #23802 later removed the worktree-add deadline. This applies the same policy to submodule checkout.

Verification

  • Seven focused tests pass: recursive/top-level checkout with/without progress past six simulated minutes, recorded gitlink and clean status, cancellation, and best-effort failure. Five regression cases fail with the original deadline.
  • Real client, identical slow fixture and separate databases; actual Git verification in the app terminal, with free Replay (dev). Cancellation and cleanup also verified.
  • vp run check:changed: all static checks pass; 172 tests pass, one skipped, ten failures. All ten also reproduce with the original fork code at 6575ce3250 on this Windows/Git 2.32 host.
Before — 31.2 s timeout (6575ce3250) After — 40.9 s complete (6f8633f5de)
Before After
sub03/nested has no files despite clean parent status All six submodules populated at recorded gitlinks; clean status

Model and harness: GPT-6.1 Sol via Codex in T3 Code.

@iXab3r
iXab3r changed the base branch from main to upstream November 1, 2026 02:24
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