Skip to content

Decouple GitKit: restore the libgit2 fork (fixes red main), keep the sqlite3 layering - #59

Merged
odrobnik merged 1 commit into
mainfrom
claude/decouple-gitkit
Jun 9, 2026
Merged

Decouple GitKit: restore the libgit2 fork (fixes red main), keep the sqlite3 layering#59
odrobnik merged 1 commit into
mainfrom
claude/decouple-gitkit

Conversation

@odrobnik

@odrobnik odrobnik commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

#58 bundled two changes: the sqlite3 toolchain layering (good, and now required
— SQLiteKit dropped the old Sqlite3Shell product) and the GitKit swap (libgit2
fork → Cocoanetics/GitKit's 1.9.4). The GitKit swap regressed git_stash_apply:
on libgit2 1.9.4 it no longer writes the working tree, so GitClientStashTests
(apply / pop / branch) fail on macOS + Linux. That landed red because #58 was
merged before its CI was confirmed green.

This reverts only the GitKit-swap commit (restores the odrobnik/libgit2
fork, whose git_stash_apply works) and keeps the entire sqlite3 layering. All
155 SwiftGit tests pass locally with the fork (stash included).

GitKit and a proper libgit2-1.9.4 stash fix (the SAFE checkout strategy is a
no-op — libgit2's normalize_apply_options doesn't default it, and SAFE's
post-merge index baseline still skips the write; needs a deeper look or an
upstream report) will be a separate, focused PR — not bundled with unrelated
work next time.

Restores SwiftPorts main to green.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@odrobnik
odrobnik merged commit bc30063 into main Jun 9, 2026
5 checks passed
odrobnik added a commit that referenced this pull request Jun 10, 2026
Replaces the odrobnik/libgit2 fork with Cocoanetics/GitKit from: "1.9.4"
(second attempt; supersedes the #59 decouple). Safe now: GitKit#2 fixed the
feature-define dialect mismatch that broke stash (and silently disabled
TLS/NTLM/iconv) — the matrix had used libgit2-main's post-#6994 names against
the v1.9.4 release source; the 1.9.4 tag is re-pointed to the fixed build.
SwiftGit/GitCommand/CLibgit2Shim consume the CGitKit product. Verified against
the published tag: full SwiftGit suite 155/155 incl. all 7 stash tests; CI
green on all 5 platforms.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@odrobnik
odrobnik deleted the claude/decouple-gitkit branch June 10, 2026 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant