tree: 5f429b36d6111225a6fb575c1f2fc5c8d38cef96
  1. 2.52.0/
  2. 2.53.0/
  3. 2.53.0.bcr.1/
  4. 2.54.0/
  5. metadata.json
  6. README.md
modules/git/README.md

Git (Bazel module)

This is a community-maintained setup to build Git (and libgit) using Bazel.

Release notes

2.54.0

  • Rebased the Bazel integration on top of upstream Git 2.54.0.
  • Updated the overlay for upstream source layout changes, including builtin/history.c, the new odb/source* files, Darwin trace2 process info, and reftable/reftable-system.h.
  • Added the missing Bzlmod module file and .bazelrc needed to build the release consistently with OpenSSL-backed curl.
  • Kept macOS tests compatible with strict action environments without a broad PATH override by adding a targeted Darwin sysctl shim in the test wrapper.

2.53.0

  • Rebased Bazel integration on top of upstream Git 2.53.0.
  • Fixed Bazel 9 / rules_cc compatibility by adding explicit @rules_cc//cc:defs.bzl loads in subpackage BUILD files and removing the global -I. compile flag.
  • Added macOS iconv compatibility settings in Bazel flags (-DICONV_RESTART_RESET and explicit libiconv linkopts for common Homebrew paths).
  • Kept source files unmodified by adding Bazel-only compatibility include shims under contrib/bazel/includes/ (//contrib/bazel:angle_include_shims) instead of patching C sources.
  • Fixed external-workspace consumption (bazel_dep + override) by removing repository-root assumptions in Bazel genrules (command-list.h, hook-list.h, config-list.h generation).
  • Updated Bazel wiring for upstream source layout changes in 2.53.0 (odb/streaming.c and odb/streaming.h).
  • Updated test coverage for 2.53.0 by adding t1311-config-optional, t5565-push-multiple, and t8015-blame-diff-algorithm, and re-enabled t3900-i18n-commit.
  • Synced overlay structure with upstream by adding overlay/.gitignore and removing the duplicated overlay/MODULE.bazel.
  • Updated libexpat to 2.7.1.bcr.1 (no local patch override).
  • Updated BCR presubmit matrix to include Bazel 9.x and macOS ARM64 in addition to existing Linux coverage.

2.52.0

  • Tests are successfully validated on macOS ARM64 and Linux x86. We do not currently validate Windows in CI; contributions to enable or stabilize Windows support are welcome.
  • Python, Perl, and shell toolchains are currently hard-coded in the Bazel setup (not yet pluggable via toolchain resolution).
  • t3900 is disabled explicitly on MacOS due to a problem with lib iconv shipped on MacOS 14 and 15. This will be fixed in a future git release and should be re-enabled then.