An open API service indexing awesome lists of open source software.

https://github.com/vvzen/whos-done-that

A CLI that wraps a few Git commands to help you understand who's effectively maintaining a codebase
https://github.com/vvzen/whos-done-that

blame git maintainers ownership

Last synced: 3 months ago
JSON representation

A CLI that wraps a few Git commands to help you understand who's effectively maintaining a codebase

Awesome Lists containing this project

README

          

#+title: Readme

A very simple CLI to check who's done the most commits/edits on a git repo, without having to remember the magic incantation for the ~git shortlog~ command every time.

* Building

I wrote this in Rust using

#+begin_src bash :noeval
$ rustc --version
rustc 1.80.1 (3f5fd8dd4 2024-08-06)
#+end_src

I'm pretty sure the Rust Minimum Supported Version is way lower than that but I have no way of testing it.

If you have rust installed (see https://www.rust-lang.org) you can build the project with cargo, as usual: ~cargo build --release~.

Then you can put the resulting CLI (~./target/release/whos-done-that~) anywhere in your $PATH, since most of the dependencies are statically linked:
#+begin_src bash :noeval
$ ldd target/release/whos-done-that
linux-vdso.so.1 (0x000075253371a000)
libc.so.6 => /usr/lib/libc.so.6 (0x000075253336d000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x000075253371c000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x000075253333f000)
#+end_src

* Installation

For a one-liner installer, this will do the trick (provided you have ~cargo~ installed) :
#+begin_src bash :noeval
cargo install --git https://github.com/vvzen/whos-done-that.git main
#+end_src

* Usage

Since this was written in an afternoon and a bit, there's no a lot of bells and whistles.

You just need to point the CLI at a valid git repo, by using the ~-t/--target-dir~ flag.

The actual result will be written to stdout so you can manipulate it via the usual UNIX tools, e.g.:
#+begin_src bash :noeval
$ whos-done-that -t ~/dev/personal/opensource/OpenColorIO | head -n 5
INFO Getting a list of authors..
INFO Compiling stats..
Jeremy Selan has made 507 commits: 61221 additions and 362789 removals
Patrick Hodoul has made 314 commits: 942 additions and 367 removals
Michael Dolan has made 135 commits: 493 additions and 35 removals
Bernard Lefebvre has made 95 commits: 0 additions and 0 removals
hodoulp has made 89 commits: 3384 additions and 2973 removals
#+end_src