Skip to content

Evaluate SwiftGitX hybrid adoption: in-process reads, Process for worktrees #113

@davidpoblador

Description

@davidpoblador

Context

See docs/swiftgitx-feasibility.md for full analysis.

Proposal

Use SwiftGitX for frequent read-only git operations (repoInfo, status, branch detection) while keeping Process("git") for worktree management. This gives in-process performance and type-safe errors without needing worktree support from the library.

Benefits

  • repoInfo() runs every 15s per project - no fork+exec overhead
  • hasUncommittedChanges() instant instead of spawning process
  • Type-safe errors instead of parsing stderr
  • No PATH resolution needed for read operations

Trigger conditions

  • SwiftGitX reaches 1.0 with stable API
  • We need richer git integration (blame, diff, file watching)
  • Performance profiling shows git Process calls are a bottleneck

Effort

~500 lines of adapter code, 2-3 days. See docs/swiftgitx-feasibility.md for details.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions