Git written from scratch in Rust