Skip to content

v1.0.6

Choose a tag to compare

@asatamax asatamax released this 16 Mar 02:57
· 15 commits to main since this release

What's New

Auto-recovery from case-insensitive filesystem ref conflicts

On macOS and Windows (case-insensitive filesystems), when a remote has branches that differ only in case (e.g. Feat/UXUI-257 vs feat/UXUI-257), git fetch and git pull fail with errors like:

error: You're on a case-insensitive filesystem, and the remote you are
trying to fetch from has references that only differ in casing.

git-fleet now automatically recovers from this common issue:

  • fetch: Detects the case-insensitive conflict and treats it as a successful fetch with a warning (the target branch data is actually fetched correctly)
  • pull: Falls back to git merge origin/<branch> when git pull fails due to this issue
  • sync: Both fetch and pull steps handle recovery transparently

Warning display

Recovered operations are shown with a yellow ⚠ icon in table output and include a warning field in JSON output:

{
  "success": true,
  "warning": "Case-insensitive ref conflict (partial fetch succeeded)"
}

Summary includes a warned count when applicable.

Files Changed

  • core.py: Recovery logic in GitOperations.fetch_all() and GitOperations.pull(), new _pull_via_merge() fallback, warning field in OperationResult
  • formatters.py: Yellow ⚠ icon for warned results in both single-root and multi-root output
  • schema.py: Updated fetch/pull descriptions and notes