Skip to content

cz commit -s should fail with deprecation warning BEFORE going through dialog, --help should reflect behavior #1135

Description

@yarikoptic

Description

Bad Dev Experience if asks for all the questions to only fail after

Steps to reproduce

Run cz commit -s -a

Current behavior

❯ cz commit -s -a
? Select the type of change you are committing style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
? What is the scope of this change? (class or file name): (press [enter] to skip)
? Write a short and imperative summary of the code changes: (lower case and no period)
move codespell configuration to pyproject.toml
? Provide additional contextual information about the code changes: (press [enter] to skip)
So people could just run "codespell" without pre-commit and have centralized configuration fortools (the others are alreadyin pyproject.toml)
? Is this a BREAKING CHANGE? Correlates with MAJOR in SemVer No
? Footer. Information about Breaking Changes and reference issues that this commit closes: (press [enter] to skip)
style: move codespell configuration to pyproject.toml
So people could just run "codespell" without pre-commit and have centralized configuration fortools (the others are alreadyin pyproject.toml)
signoff mechanic is deprecated, please use `cz commit -- -s` instead.
fatal: /home/yoh/.tmp/tmpsqo29rpl: '/home/yoh/.tmp/tmpsqo29rpl' is outside repository at '/home/yoh/proj/misc/commitizen'

Desired behavior

❯ cz commit -s -a
signoff mechanic is deprecated, please use `cz commit -- -s` instead.

Also --help should mention -- -- not there at all

❯ cz commit --help
usage: cz commit [-h] [--retry] [--no-retry] [--dry-run] [--write-message-to-file FILE_PATH] [-s] [-a] [-l MESSAGE_LENGTH_LIMIT]
options:
-h, --help show this help message and exit
--retry retry last commit
--no-retry skip retry if retry_after_failure is set to true
--dry-run show output to stdout, no commit, no modified files
--write-message-to-file FILE_PATH
write message to file before committing (can be combined with --dry-run)
-s, --signoff sign off the commit
-a, --all Tell the command to automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected.
-l MESSAGE_LENGTH_LIMIT, --message-length-limit MESSAGE_LENGTH_LIMIT
length limit of the commit message; 0 for no limit

Screenshots

No response

Environment

❯ cz version
3.26.0
❯ python --version
Python 3.11.9

the rest is unrelated... and see

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions