conventional-changelog/commitlint

{body,footer}-max-line-length may fail when git commit --verbose

Open

#437 opened on Sep 9, 2018

View on GitHub
 (4 comments) (2 reactions) (0 assignees)TypeScript (15,497 stars) (896 forks)batch import
bughelp wanted

Description

Expected Behavior

{body,footer}-max-line-length should only validate the body of the message and the footer of the message

Current Behavior

if the git commit is done with the verbose option (that will show the diff), the rules {body,footer}-max-line-length will run even on the diff

Affected packages

  • ensure
  • rules

Possible Solution

maybe commitlint should have a pre processing step and remove content before the diff

Maybe split by:

const newValue = value.split("diff --git a/")[0];

Steps to Reproduce (for bugs)

  1. With the code from https://github.com/marionebl/commitlint/pull/436
  2. Make a change that causes a line to be bigger than 100
  3. git add that change
  4. git commit to open the default editor with the diff (if doesn't show the diff do git commit --verbose
  5. write a valid commit message
  6. will fail

Context

Found out when trying to commit this changes: https://github.com/marionebl/commitlint/pull/436 When doing a commit message with: git commit -m "<message>" it was working But when I was commit like: git commit typing the message in editor and save, it was failling

Your Environment

editor: neovim

Executable Version
commitlint --version latest
git --version 2.18.0
node --version v8.11.3

Contributor guide