All Projects → albertyw → git-reviewers

albertyw / git-reviewers

Licence: MIT license
Intelligently find code reviewers

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to git-reviewers

Awesome Code Review
An "Awesome" list of code review resources - articles, papers, tools, etc
Stars: ✭ 3,205 (+22792.86%)
Mutual labels:  code-review
inline-plz
Inline your lint messages
Stars: ✭ 32 (+128.57%)
Mutual labels:  code-review
code-review-estimator
Estimate cost of code review using Machine Learning
Stars: ✭ 49 (+250%)
Mutual labels:  code-review
effective-code-review
Presentation about my process for making code reviews as effective as possible
Stars: ✭ 63 (+350%)
Mutual labels:  code-review
localhost-sonarqube
Analysing source code locally with SonarQube in a Docker environment.
Stars: ✭ 17 (+21.43%)
Mutual labels:  code-review
st package reviewer
A tool to review packages for Sublime Text
Stars: ✭ 13 (-7.14%)
Mutual labels:  reviewer
Github Review
Github code reviews with Emacs.
Stars: ✭ 210 (+1400%)
Mutual labels:  code-review
codewing
Next level code navigation for Java and Go on GitHub.
Stars: ✭ 37 (+164.29%)
Mutual labels:  code-review
dx-scanner
CLI tool that allows you to measure quality of a team work and an app based on your source code.
Stars: ✭ 79 (+464.29%)
Mutual labels:  code-review
clang-tidy-review
Create a pull request review based on clang-tidy warnings
Stars: ✭ 33 (+135.71%)
Mutual labels:  code-review
code-review
Automated static analysis & linting bot for Mozilla repositories
Stars: ✭ 51 (+264.29%)
Mutual labels:  code-review
gh-code-review-assistant
(no longer maintained) GitHub Code Review Assistant tool is a userscript (lightweight extension) for Firefox / Chrome
Stars: ✭ 29 (+107.14%)
Mutual labels:  code-review
FastLint-Issues
FastLint finds & fixes bugs in your commits
Stars: ✭ 123 (+778.57%)
Mutual labels:  code-review
abapOpenReview
ABAP Review Tool
Stars: ✭ 19 (+35.71%)
Mutual labels:  code-review
critiq.vim
Github code reviews from Neovim
Stars: ✭ 69 (+392.86%)
Mutual labels:  code-review
Code Review Checklist
This code review checklist helps you be a more effective and efficient code reviewer.
Stars: ✭ 214 (+1428.57%)
Mutual labels:  code-review
phinder
PHP code piece finder
Stars: ✭ 54 (+285.71%)
Mutual labels:  code-review
gerrit-cli
Gerrit in your command lines.
Stars: ✭ 39 (+178.57%)
Mutual labels:  code-review
reviewio
code review stats for
Stars: ✭ 22 (+57.14%)
Mutual labels:  code-review
dispatch
🦀 Dispatch makes sure pull requests within a GitHub organization get reviewed by the right people.
Stars: ✭ 22 (+57.14%)
Mutual labels:  code-review

git-reviewers

PyPI Python Versions

Build Status Updates Maintainability Test Coverage

Intelligently find code reviewers. See also, git-browse.

Installation

Homebrew (preferred for MacOS)

If you use Homebrew, you can install git-reviewers through the homebrew-albertyw tap:

brew install albertyw/albertyw/git-reviewers

Manual

If you don't use Homebrew, first clone this repository to somewhere on your system (perhaps in your dotfiles repository), then run <REPOSITORY_LOCATION>/install.sh.

After installation, you can modify any default flags for git-reviewers in ~/.gitconfig

Usage

usage: reviewers.py [-h] [-v] [--verbose] [-i IGNORE] [-j JSON] [-c]

Suggest reviewers for your diff. https://github.com/albertyw/git-reviewers

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  --verbose             verbose mode
  -i IGNORE, --ignore IGNORE
                        ignore a list of reviewers (comma separated)
  -j JSON, --json JSON  json file to read configs from, overridden by CLI
                        flags
  -c, --copy            Copy the list of reviewers to clipboard, if available
  -b BASE_BRANCH, --base-branch BASE_BRANCH
                        Compare against a base branch (default: master)

Finders

git-reviewers is componsed of a set of strategies for generating lists of reviewers, or Finders. They return a weighted set of reviewers which is then sorted and recommended to you. They include:

  • FindLogReviewers - Generate a list of reviewers based on committers to your committed (but not merged with master) files
  • FindHistoricalReviewers - Generate reviewers based on the repository committers as a whole
  • FindArcCommitReviewers - Generate reviewers based on arc commit messages for files which you have modified on your branch

Configuration

git-reviewers supports reading configuration from a configuration file with the --json flag. The configuration file accepts json with the following fields (all fields optional):

{
    "verbose": false,
    "copy": false,
    "ignore": ["a", "b", "c"],
    "base_branch": "master"
}

git-reviewers will also by default search for and load a json configuration file at ~/.git/reviewers.

Development

python setup.py develop
pip install -r requirements-test.txt
flake8
mypy . --strict --ignore-missing-imports
coverage run -m unittest
coverage report -m

Publishing

pip install twine
python setup.py sdist bdist_wheel
twine upload dist/*

Need to also update albertyw/homebrew-albertyw.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].