Project

poper2

0.0
Low commit activity in last 3 years
Poper2 makes sure that your git commit messages are well-formed
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 1.10
~> 0.10
~> 12.0
~> 3.4
~> 1.2
~> 0.14

Runtime

~> 1.6.3
~> 0.20.0
 Project Readme

Poper2

Poper 2 is a fork of the original poper. The intention of this project is to keep it updated for any version bugs in dependencies that may arise.

Poper makes sure that your git commit messages are well-formed. It's partly inspired by this article written by tpope. Rules specified there form the basis of Poper rules. But Poper doesn't stop there. It also doesn't like generic commit messages like 'oops, fix tests'. Poper was created to be used by Pronto, but will work perfectly well in whatever scenario you'll come up for it!

Usage

Install Poper like any other gem and then run it from your terminal, specifying a commit:

  gem install poper2
  cd /repo/which/commits/you/want/to/check
  poper2 run HEAD~3

Every commit between current HEAD and specified commit will be checked.

Configuration

The behavior of Poper can be controlled via the .poper.yml configuration file. It must be placed in your project directory. A sample file, .poper.sample.yml, is included for easy setup.

The file has the following format:

disallow_single_word:
  enabled: true

character_limit:
  enabled: true
  number: 72

summary_character_limit:
  enabled: true
  number: 50

disallow_generic:
  enabled: true
  words:
    - fix
    - fixed
    - fixes
    - oops
    - todo
    - fixme
    - commit
    - changes
    - hm
    - hmm
    - hmmm
    - test
    - tests
    - quickfix

enforce_capitalized:
  enabled: true

All properties that can be specified via .poper.yml, can also be specified via environment variables. Their names will be the upcased path to the property. For example: POPER_ENFORCE_CAPITALIZED_ENABLED or POPER_DISALLOW_GENERIC_WORDS. (In the case of the latter, since environment variables don't support arrays, use a comma-separated list of words and poper will parse them appropriately.) Environment variables will always take precedence over values in configuration file.