conventional-changelog/commitlint

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

Open

#437 创建于 2018年9月9日

在 GitHub 查看
 (4 评论) (2 反应) (0 负责人)TypeScript (15,497 star) (896 fork)batch import
bughelp wanted

描述

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

贡献者指南