You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(cli) keep Windows separators in a local clone's origin URL
(init) write core.symlinks=false off Unix
(config) read and write git's value quoting and escapes
(cli) make the puregit CLI output and exit codes git-compatible
(diff) emit git's hunk header ranges
(worktree) checkout/reset --hard/merge keep index and work tree in sync
(status,add) stage symlinks as links, compare modes, honor intent-to-add
(commit-graph) git's generation/date bit layout and octopus EDGE parents
(walk) pick the best merge base and walk history in git's date order
(index) read/write v4, keep extended flags, honor skipHash, drop stale cache-tree
(pack) resolve delta chains iteratively and accept git's deep chains
Other
(interop) faster fixtures, no TCP half-close, skip git daemon client on Windows
(interop) wire-protocol interop against the real git CLI
(interop) model symlinks the Git for Windows way off Unix
exclude interop/ from the published package
run the libgit2 interop harness on Linux, macOS and Windows
(interop) libgit2 interop harness in interop/libgit2
(interop) CLI parity tests against the real git binary
(interop) on-disk format interop against the real git CLI, both directions
require git for interop tests
relicense under MIT only
add CI, crates.io, docs.rs and license badges
keep test fixtures byte-exact on Windows
Added
Initial scaffold of the pure-Rust git engine.
no_std + alloc core: object ids (SHA-1/SHA-256), the blob/tree/commit/tag
object model, loose + in-memory object databases, zlib compression over compcol, packfile reading with OFS_DELTA/REF_DELTA resolution and v2 .idx lookup, references (loose + packed-refs + symrefs), the DIRC
staging index, the git config parser, and the sans-IO smart protocol
(pkt-line, capabilities, ref advertisement, fetch request).
std shell: the Vfs trait and its StdFs backend, Repository
(init/open, object I/O, HEAD, config/index), and worktree checkout.
Feature-gated scaffolds for the HTTP (rsurl) and SSH (puressh)
transports and the upload-pack/receive-pack server handlers.
A puregit CLI (git-compatible front end) with init, hash-object, cat-file, and rev-parse.
Project README.md and a milestone-based ROADMAP.md.
Combined loose + packed object database with cross-backend delta resolution;
reachability/RevWalk; pack writing (PackWriter + .idx) and pack ingest
(explode_pack); write-tree from the index.
Local porcelain: Repository::add_path / commit, and CLI add / write-tree / commit / log / unpack-objects. Output is byte-compatible
with canonical git (passes git fsck).
Smart transfer protocol: upload_pack and receive_pack server handlers, a
client fetch / clone / push, and an in-process LocalTransport.
Smart-HTTP(S) transport over rsurl — clones real repositories from GitHub
over HTTPS (pure-Rust TLS). CLI git clone <url>.
SSH transport over puressh (single owned exec channel; strict known_hosts; password auth). CLI clone routes ssh:// and scp-style URLs.
Fixed an inflate_capped infinite loop (compcol's capped decoder spins at the
exact-size cap with trailing pack bytes); reimplemented with a bounded
scratch-buffer loop, plus inflate_exact for packfile iteration.