← Back to all sparks
G

git2r

INFRA · APIS
Velocity0.0

Access Git repositories from R with pure libgit2 bindings

git2r stopped vendoring libgit2 and now expects it on the system

gitr-statspackagingsystem-dependenciesbuild-configdevtools
Current state
git2r is the R binding to libgit2. The defining recent change is packaging, not API: 0.35.0 removed the bundled libgit2 source entirely and made a system install of libgit2 1.0 or newer a hard requirement, with a macOS fallback that downloads a checksum-verified static build. 0.36.2 follows up with proxy support and clearer build-time error messages.
Where it's heading
The package is trading install convenience for a maintainable build, and the releases since are about softening that edge — better diagnostics when the requirement is unmet, documented system dependencies, platform-specific build configuration. The API itself grows slowly and only where the underlying libgit2 exposes something new.
Prediction
Expect further build-configuration and diagnostics work on the unbundled setup, with API additions arriving only as thin wrappers over libgit2 features.

Recent moves

  1. 1y ago

    Proxy support for clone, fetch, push and remote_ls

    Adds a proxy parameter to the network-facing functions and improves the build script's error messages about libgit2's own dependencies. The proxy work is the first real capability addition since the unbundling.

    View source ↗
  2. 1y ago

    Bundled libgit2 removed; a system install is now required

    ⚡ SPARK

    The change that reshaped everything since: git2r no longer ships libgit2 source, so installation depends on the host having it. Later releases are largely about making that requirement survivable.

    View source ↗
  3. 2y ago

    Raw blob content and a bump to R 4.0

    Adds a raw argument to content() so blobs can be read as raw vectors, updates the then-bundled libgit2 to 1.7.1, and raises the R requirement to 4.0. A small API addition in an otherwise build-focused history.

    View source ↗
  4. 3y ago

    Bundled libgit2 updated to 1.6.3

    A dependency bump and a build fix for platforms missing a nanosecond time structure. No API change.

    View source ↗
  5. 3y ago

    Unused autoconf macro removed

    A one-line build-script cleanup.

    View source ↗
  6. 4y ago

    Windows UCRT build configuration added

    Adds a UCRT build script for Windows and documents line-ending handling in diffs. Platform packaging work.

    View source ↗