Taming Git complexity with Rust and Gitoxide - FOSDEM 2026

Git's internal design is both elegant and notoriously complex. Building reliable tooling on top of it means dealing with purpose-built data structures, performance trade-offs, and years of historical quirks. In this talk, Kiril Videlov explores how Rust, together with Gitoxide, makes it possible to create fast, correct, and ergonomic version-control tooling. We’ll look at how Rust’s ownership model and type system help avoid whole classes of errors, and how Gitoxide exposes a safe and composable interface to the raw Git data structures. Using some real-world examples, we’ll walk through: - How Git stores its data and why interacting with it is non-trivial - How the Gitoxide APIs to make this tractable - Patterns for building high-level Git workflows - A short demo of how these pieces come together in the GitButler CLI Gitoxide: https://github.com/GitoxideLabs/gitoxide GitButler: https://github.com/gitbutlerapp/gitbu...