commitizen / commitizen/cz-cli

commitizen produces empty commit message after answering prompts

Open
#967 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
JavaScript
Stars
17.5k
Forks
566
Avg merge
8h 16m
Merged PRs (30d)
1

Description

### Description

We set up `cz` as a husky pre-commit hook but when we go through the prompts via `git commit` it produces an empty commit message in `vim`.

These commands were executed to set it up:

```
npm install --save-dev commitizen
npx commitizen init cz-conventional-changelog --save-dev --save-exact
npx husky-init && npm install
```

Our `.husky/prepare-commit-msg`:

```
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

echo '[husky] Running commitizen for prepare-commit-msg hook...'
exec < /dev/tty && npx cz --hook || true
```

### Steps to reproduce

1. Execute `git commit`.
2. Answer the cz prompts.
3. A vim editor is opened.

### Current behavior

The vim editor has an empty commit message and commitizen errors out due to an empty commit message.

### Desired behavior

commitizen produces a commit message using information entered in prompts.

### Screenshots

```
git commit
[husky] Running commitizen for prepare-commit-msg hook...
cz-cli@4.3.0, cz-customizable@7.0.0

All lines except first will be wrapped after 100 characters.
? Select the type of change that you're committing: chore: Changes that don't modify src or test files
?
Denote the SCOPE of this change (optional): empty
? Write a SHORT, IMPERATIVE description of the change:
cz message prompt tweak
? Provide a LONGER description of the change (optional). Use "|" to break new line:
false
? List any ISSUES CLOSED by this change (optional). E.g.: #31, #34:

str.match is not a function
Aborting commit due to empty commit message.
```

![image](https://user-images.githubusercontent.com/179807/218177263-80a59267-dff1-452a-b8a4-ace39f0ae9a6.png)

### Environment

cz-cli@4.3.0
cz-customizable@7.0.0

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.