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

Configuration flag to prevent bumping with uncommitted changes #1194

Open
ptoews opened this issue Jul 29, 2024 · 6 comments
Open

Configuration flag to prevent bumping with uncommitted changes #1194

ptoews opened this issue Jul 29, 2024 · 6 comments

Comments

@ptoews
Copy link

ptoews commented Jul 29, 2024

Description

When running cz bump, committizen will include all current uncommitted changes (even if not staged) in the bump commit.
This can lead to unexpected changes suddenly being in a new release.
There should be some kind of configuration option to either abort the bumping when there are uncommitted changes (similar to bump-my-version's allow_dirty) or stash the changes, update the version, commit, and pop the stash.

Possible Solution

No response

Additional context

No response

Additional context

No response

@Lee-W
Copy link
Member

Lee-W commented Aug 11, 2024

@woile I feel we could change it to add version files only in

git.add(*files)
. What do you think?

@marcusalstrom
Copy link

We would love to contribute to this and discussed giving the option to the user to abort if there are any unstaged changes or like @Lee-W mentioned only adding the version files to git. The issue with the latter is finding a good and convenient way of retrieving all the version file names in a general way for all the different version providers. Which approach would be considered best and if the latter do you have any tips on retrieving all the version files in a convenient way?

@Lee-W
Copy link
Member

Lee-W commented Oct 10, 2024

@marcusalstrom I would vote for the latter (well, I'm biased. that's what I proposed).

would love to know how others think

@woile
Copy link
Member

woile commented Oct 15, 2024

I prefer having the git.add, I wonder what's the use case for not including all modifications?

If we asume commitizen runs on a CI, not on your working directory. Then you might do stuff like:

# modify a file not handled by commitizen but you want it as part of the release
cz bump

But I'm open for a non-breaking change

Note: we should also include files in version_files

@omidmme
Copy link

omidmme commented Oct 15, 2024

I think the case for not including all modifications is that unintended changes can go unnoticed. Would it in this case be better to pass a flag to bump depending on which use-case you have to try and avoid any breaking changes?

@Lee-W
Copy link
Member

Lee-W commented Oct 21, 2024

I think the case for not including all modifications is that unintended changes can go unnoticed. Would it in this case be better to pass a flag to bump depending on which use-case you have to try and avoid any breaking changes?

sounds like a good idea to me.

I prefer having the git.add, I wonder what's the use case for not including all modifications?

I kinda forget why, but I did bumped into these a few times long ago. and it's indeed hard to notice 🤦‍♂️

Note: we should also include files in version_files

yep, this is definitely something we need to include

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

5 participants