Commit Graph

2 Commits

Author SHA1 Message Date
Axel Meyer
ca2878c3e9 lib-core.git 0.2.0: HTTP-Basic token auth + ls-remote error classification + set_token
- Credential callback wired through clone, fetch, and async ls-remote.
  Token source: SPOREL_GITEA_TOKEN env at lib-init, overridable
  per-process via the new set_token(t) Lua binding (engine.config
  "gitea_token" reaches it through the launcher).
- Async ls-remote take_result now emits a kind field on failure:
  "auth-required", "not-found", "network", or "other". Consumers can
  classify update-check failures (e.g. distinguish a private repo
  needing creds from a repo that doesn't exist at all from a flaky
  network).
- DLL rebuilt with the new code; manifest bumped to 0.2.0.
2026-05-31 14:08:45 +02:00
Axel Meyer
b161f2a059 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.
2026-05-31 01:15:30 +02:00