fix(server): let the start-from-origin fetch outlive the 30s git timeout - #10943
fix(server): let the start-from-origin fetch outlive the 30s git timeout#10943Mnigos wants to merge 1 commit into
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This PR makes a localized timeout correction for the start-from-origin Git fetch and adds an integration test covering fetches longer than 30 seconds. Other Git operations and product defaults remain unchanged. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthrough
ChangesRemote fetch timeout
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to Remote fetches can now complete beyond 30 seconds, preventing large or stale remotes from failing solely because of the prior fixed deadline. The delayed completion behavior is covered with no current merge-blocking risk. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Starting a new thread with New worktree and Start from origin runs
git fetch --quiet originunder the driver's default 30 s deadline. On a large or stale remote the fetch is killed mid-pack, the ref never advances, and every retry downloads the same pack again and dies at 30 s, leavingtmp_pack_*leftovers behind.fetchRemotenow runs without that deadline (timeoutMs: null), the same way every push variant already does. This is the first step from the triage on #10916; narrowing the bootstrap fetch to the selected branch is left for a follow-up.Verification
GitVcsDriverCore.test.tsdelays the spawnedfetchby 31 s on the test clock and asserts the remote tracking ref advances. It fails on main withGit command timed out.and passes here.vp test run apps/server/src/vcs/GitVcsDriverCore.test.ts: 62 tests pass. Server typecheck and lint on the touched files are clean.Fixes #10916. Implemented with Claude Code (Claude Fable 5.1).
Summary by CodeRabbit