collin/anvil
RenderedSource
Vendored: gitserver-core
This is a vendored, modified copy of the gitserver-core crate from
WJQSERVER/gitserver, which implements
the server side of the git wire protocol (pkt-line, protocol v2 ls-refs /
fetch / upload-pack, and receive-pack) on top of gix — the piece gix
itself does not provide.
- Upstream commit:
3cec05b02eea3220c67782e4d9d0404d8b001aa3(2026-04-27), which is still upstream'smainHEAD as of 2026-08-25 — nothing to pull. The newest upstream tag,v0.0.3, is older than this commit. - License: MPL-2.0 (see
LICENSE); upstream MIT material noted inUPSTREAM-LICENSE/NOTICE. MPL is file-level copyleft: modifications to these files stay MPL, but anvil as a whole may carry its own license.
Why vendored
We vendor rather than depend on crates.io so we can (1) bump gix from the
upstream-pinned 0.80 to the workspace version (0.87) and keep it in lockstep
with the rest of anvil, and (2) modify the protocol code as anvil-git evolves.
The gix gap only widens: upstream has been on 0.80 since April, so each gix bump here is ours to port, and checking upstream first is cheap but has so far never produced anything.
anvil-git wraps this crate behind its own interface so the dependency can be
incrementally replaced with an upstream-shaped, gix-native implementation.
Local modifications
Cargo.toml: standalone manifest using the anvil workspace'sgix(0.87) andgix-pack(0.74) instead of upstream's pinned 0.80 / 0.67.- Source changes required by the gix version bump are recorded in git history.