git-owners

Crates.iogit-owners
lib.rsgit-owners
version1.0.1
sourcesrc
created_at2022-05-23 06:17:51.128838
updated_at2022-10-28 12:47:31.637444
descriptionA git subcommand to query and validate CODEOWNERS
homepage
repositoryhttps://github.com/chrisittner/git-owners
max_upload_size
id591608
size16,593
(chrisittner)

documentation

README

git-owners

A git subcommand to query and validate CODEOWNERS.

List owners of files based on the CODEOWNERS of the current repository.

> git owners src/main.rs
src/main.rs                    @weyland
> git owners `git ls-files`
.gitignore                     (unowned)
Cargo.lock                     @weyland
Cargo.toml                     @weyland
LICENSE                        (unowned)
README.md                      @weyland
src/main.rs                    @weyland
# oops, did the last commit add some unowned files?
> git diff --name-only --diff-filter=A | git owners
.gitignore                     (unowned)
LICENSE                        (unowned)
# I need stats about my big monorepo
> echo `git ls-files | git owners | grep "(unowned)"| wc -l` out of `git ls-files | git owners | wc -l` files in this repository do not have a corresponding CODEOWNERS entry
2 out of 6 files in this repository do not have a corresponding CODEOWNERS entry

Installation

  • Via Cargo: cargo install git-owners

Usage

  • Get owners of a file

    git owners some/file
    
  • Get owners for a list of files

    git owners some/file some/other/file
    
  • Get owners for every tracked file

    git ls-files | git owners
    
  • Get owners for files modified in last five commits

    git diff --name-only HEAD~5 HEAD | git owners
    
  • Congratulate the user if the current changeset does not add files without owner

    git diff --diff-filter=ACR --name-only | git owners && echo "Great job! No unowned files added!"
    
  • Get an overview of your CODEOWNERS coverage

    echo `git ls-files | git owners | grep "(unowned)"| wc -l` out of `git ls-files | git owners | wc -l` files in this repository do not have a corresponding CODEOWNERS entry
    

Features

  • Detects the right CODEOWNERS file of the current git repository
  • Is composable & scripting friendly
  • Works well as a pre-commit hook
  • Is fast & written in Rust

Issues & Contributing

If you have any questions or problems, feel free to communicate using Github Issues.

Commit count: 10

cargo fmt