Revision history for Git-Native

0.002     2026-05-27 18:02:46Z
  - Initial release
  - Moo-based high-level wrapper around Git::Libgit2 / libgit2 — no
    fork/exec, no XS
  - Tests: Error throw/catch (t/11-error.t), Credential constructors
    (t/35-credential.t), compile-check of all modules (t/00-load.t)
  - Core classes: Repository, Reference, Config, Blob, Tree, TreeBuilder,
    Commit, Signature, Oid, Object, Error (Throwable)
  - Remote class with fetch/push, wildcard-push expansion (libgit2 quirk),
    push --prune via connect+ls diff
  - Credential class for SSH key/agent, HTTPS userpass, default, username
  - General-purpose surface: clone (non-bare), Revwalker, Branch, Tag,
    status, status_for_path
  - Reference accessors/predicates: resolve, shorthand, symbolic_target,
    is_branch/is_remote/is_tag, plus set_target / symbolic_set_target
  - Repository HEAD surface: head, head_unborn, head_detached, set_head,
    reference_symbolic_create; init(initial_branch => 'main') pins HEAD
  - Commit accessors: summary, time (epoch), time_offset (minutes)
  - RAII handle ownership via DESTROY -> git_*_free, child objects hold
    strong ref to parent to prevent use-after-free
  - All tests run with GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null
    to avoid polluting the user's gitconfig
  - Live SSH/HTTPS auth tests (opt-in via TEST_GIT_NATIVE_* env vars)
