blob: 333101d619c5be2152758d286c4e1659e163b152 [file] [view]
# Git (Bazel module)
This is a community-maintained setup to build Git (and libgit) using Bazel.
## Release notes
### 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.