Skip to content

[pull] master from microsoft:master#84

Merged
pull[bot] merged 2 commits into
cgallred:masterfrom
microsoft:master
Apr 15, 2026
Merged

[pull] master from microsoft:master#84
pull[bot] merged 2 commits into
cgallred:masterfrom
microsoft:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 15, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

tyrielv added 2 commits April 14, 2026 19:16
MountNewWorktree() in the post-command hook silently discarded the exit
code of 'gvfs mount', leaving worktrees unprojected when concurrent
adds caused mount contention. Also discarded the git checkout exit code.

Product fix:
- Check git checkout exit code; skip mount on failure
- Check gvfs mount exit code with retry (2 retries, 100ms/250ms)
- Extract and check --exit_code from hook args to skip post-processing
  when the git command itself failed
- Return int? from GetHookExitCode so callers decide null semantics
- Apply same TryMountWithRetry to MountMovedWorktree
- Remount old worktree when 'git worktree move' fails (pre-hook unmounts)
- Remove maxRetries parameter; retry count driven by delay array length
- Emit actionable warning to stderr on mount failure with recovery command

Test fix:
- Increase concurrent worktrees from 2 to ProcessorCount for reliable
  mount contention
- Use CountdownEvent barrier for tight synchronization of launches
- Add pipe-based mount verification as primary assertion (probes the
  worktree-specific named pipe directly instead of relying on File.Exists)
- Add diagnostic capture on failure (directory listing, .git contents)
- Use dynamic branch names with GUID suffixes to avoid collisions
- Use numeric indices instead of char arithmetic for labels/paths to
  support >26 concurrent worktrees
- Only retry at lower concurrency when ALL failures are overload-related;
  mixed failure sets (overload + real regression) are reported immediately

Bug: https://dev.azure.com/microsoft/OS/_workitems/edit/61784115

Assisted-by: Claude Opus 4.6
Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
…-mount

Improve resiliency of git worktree commands
@pull pull Bot locked and limited conversation to collaborators Apr 15, 2026
@pull pull Bot added the ⤵️ pull label Apr 15, 2026
@pull pull Bot merged commit 7669d6c into cgallred:master Apr 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant