Skip to content

no such file or directory COMMIT_EDITMSG on new checkout #589

Open
@Qard

Description

@Qard

When checking out a repo, there is no COMMIT_EDITMSG file until a new commit is made. In the case of elastic-apm-node, we trigger the commit lint automatically, as part of the test process. This currently means a fresh checkout can't run the tests because @commitling/cli will crash due to being unable to find that file.

Expected Behavior

There was no commit to have a failing message on, so it should not be a failure.

Current Behavior

It crashes with this output:

/home/stephenbelanger/Code/elastic-apm-node/node_modules/@commitlint/cli/lib/cli.js:113
	throw err;
	^

Error: ENOENT: no such file or directory, open '/home/stephenbelanger/Code/elastic-apm-node/.git/COMMIT_EDITMSG'
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] lint-commit: `test/lint-commits.sh`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] lint-commit script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/stephenbelanger/.npm/_logs/2019-03-03T19_30_57_446Z-debug.log

Affected packages

  • cli
  • core
  • prompt
  • config-angular

Possible Solution

Consider it a "pass" if the file is not found.

Steps to Reproduce (for bugs)

  1. Checkout any repo for the first time, which uses @commitlint/cli
  2. Trigger @commitlint/cli
  3. ???
  4. 😢

Context

Currently this makes the contributing process painful, as new contributors will always run into this the first time they try to run our tests.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions