A command-line tool written in Rust that analyzes Git repositories and generates statistics: commit history, author contributions, file change tracking, and output to CSV/JSON.
Academic project — Systems Programming module, L3 Computer Science @ UVSQ (group project)
- Scans a local directory for Git repositories
- Extracts commit metadata: author, date, message, files changed
- Generates per-author statistics (commit count, lines added/removed)
- Outputs results to CSV and JSON formats
- Handles multiple repositories in a single scan
| Component | Technology |
|---|---|
| Language | Rust |
| Git interaction | libgit2 / git2-rs crate |
| Output formats | CSV, JSON |
| Build system | Cargo |
git clone https://github.com/AmZzPYJS/Analyse-Rust-Depot-Git.git
cd Analyse-Rust-Depot-Git
cargo build --release
cargo run -- /path/to/directory- Writing idiomatic Rust: ownership, borrowing, lifetimes, error handling with
Result - Using Rust crates (git2, serde, csv) and managing dependencies with Cargo
- Parsing and processing Git objects programmatically
- Collaborating on a shared codebase with Git (branching, merging, pull requests)
- Structuring a Rust project with modules and clean separation of concerns
MIT