commitizen / commitizen/cz-cli

Wizard exits into vim/COMMIT_EDITMSG

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

Description

Hi,

Hoping for a bit of guidance,

I have setup this package following the instructions and have the wizard running. This uses husky and the `prepare-commit-message` hook runs `exec < /dev/tty && npx --no-install git-cz --hook || true`.

Then the `commit-msg` hook runs `npx --no -- commitlint --edit "\${1}"` to lint the commit message.

Relevant package versions:
```
"@commitlint/cli": "^16.2.4",
"@commitlint/config-conventional": "^16.2.4",
"@commitlint/cz-commitlint": "^16.2.4",
"commitizen": "^4.2.4",
"cz-customizable": "^6.3.0",
```

The trouble i'm facing is that every time i complete the wizard i'm dumped back into the vim in what looks like the `COMMIT_EDITMSG` git hook asking me to enter a commit message, and have to `:q` to exit which is annoying. Linting then runs after this as expected.

Steps to reproduce:

1. Run `git commit -a` in terminal
2. Proceed through wizard and choose `Yes` to the `confirmCommit` message.
3. Vim starts, `:q` to exit
4. Linting runs.

If i comment out the linting stage i do not enter the `COMMIT_EDITMSG` hook, so from what i can tell, this opens because the `--edit` flag of Commitlint says:
`read last commit message from the specified file or fallbacks to ./.git/COMMIT_EDITMSG` so looking at my lint command `npx --no -- commitlint --edit "\${1}"` - is the path/file not being passed correctly from cz to commitlint? Or is the git process thinking it also needs to launch?

Thanks

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.