Commit Graph
4 Commits
Author SHA1 Message Date
Jinjing 21cdce5cf7 Serialize per-worktree git mutations to fix rebase race
Introduce operation locking for each worktree to prevent concurrent
mutations (like rebase) from interfering with each other. Ensures
rebasing a linked worktree doesn't affect the source worktree state.
Add SIGKILL fallback if process termination barriers cannot verify
tree termination.
2026-08-24 11:35:14 -07:00
Jinjing c74496bf17 fix rebase race by fetching to private ref with timeouts
Concurrent fetches can replace FETCH_HEAD and remote-tracking refs between
fetch and rebase, causing the rebase to fail. Fetch to a temporary private
ref instead, use --no-write-fetch-head when available (Git 2.29+), and
serialize FETCH_HEAD access for older versions. Add process termination
barriers to ensure proper cleanup and extend timeouts for SSH operations.
2026-08-24 11:35:14 -07:00
Jinjing 4e7ad768d2 Fix rebase race by fetching to private ref with timeout
Concurrent fetches can interfere with remote-tracking refs between
fetch and rebase. Use a unique private ref and 60-second timeout to
isolate each rebase operation and prevent hangs on stalled remotes.
Extract gitPullRebaseFromBase to a dedicated module.
2026-08-24 11:35:13 -07:00
Jinjing 41a2d7ba90 Target source-control actions to publish branches (#2612) 2026-05-22 00:35:30 -07:00