| # 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. |