lib-core.git v0.1.0: native libgit2 wrapper

Initial release. Statically vendors libgit2 v1.7.2 (HTTPS-only via
WinHTTP on Windows, no SSH dependency); exposes synchronous clone,
checkout, fetch, describe, has_ref, is_repo, tags plus an async
start_ls_remote_tags / is_done / take_result triple routed through
the engine async-pool.

The native-lib loader resolves engine services through the
sporel_engine_api struct passed to sporel_lib_init, so this lib does
not statically depend on internal engine symbols beyond the Lua C-API
re-exports.

Smoke-tested against a public Gitea repo: clone over HTTPS succeeds,
async ls-remote returns the tag list, all C-allocations clean up via
git_*_free / git_buf_dispose. First clean build of libgit2 takes
~5-15 min on a typical machine; cached afterwards.
This commit is contained in:
Axel Meyer
2026-05-31 01:15:30 +02:00
commit b161f2a059
5 changed files with 495 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
build/