Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
yarikoptic opened this issue May 21, 2024 · 5 comments

Comments

@yarikoptic
Copy link
Contributor

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 for tools (the others are already in 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 for tools (the others are already in 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

@Lee-W
Copy link
Member

Lee-W commented May 22, 2024

Hi @yarikoptic , thanks for reporting! This is indeed something missed.

@marcosdotme
Copy link
Contributor

@Lee-W Can I work on that?

@Lee-W
Copy link
Member

Lee-W commented May 23, 2024

More than welcome 🙂

@marcosdotme
Copy link
Contributor

marcosdotme commented May 24, 2024

@Lee-W @yarikoptic Guys, the behavior we expect is 1 or 2?

Behavior 1 (prints the message and exit, forcing us to use cz commit -- -s)

image

Behavior 2 (prints the warning message and continue)

image

On the background, when we use the deprecated version cz commit -s, this is replaced with -- -s already:

image

@Lee-W
Copy link
Member

Lee-W commented May 27, 2024

I would prefer 2 for now and maybe change it in v4 . We also need to add -- into the help text

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants