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

[Enhancement] Create .bumpversion.cfg #106

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

kevinmatthes
Copy link

This Pull Request introduces a self-maintaining configuration file in order to abbreviate the process of incrementing the current version number in multiple files. This configuration file was already mentioned in #102 and controls the behaviour of an MIT-licensed Python 3-CLI named bump2version:

Verkerk, C., & The bump2version Community. (2020). bump2version (Version 1.0.2-dev) [Computer software]. https://github.com/c4urself/bump2version

When preparing a new release, the version number needs to be updated. Version numbers often appear as magic numbers in multiple files. bump2version helps to increment them. The configuration just needs to know the current version number and the files to update. When calling it, the tracked files as well as the configuration file itself will be set to the new version number. This is why I named this configuration file "self-maintaining".

Version numbers are considered to meet the pattern major.minor.patch. To increment from 3.3.2 to, say, 4.0.0, bump2version can be called as follows:

bump2version major

Other version increments are triggered similarly. The CLI will complain when they are uncommitted changes. To override and, hence, ignore this complaint, there is the option --allow-dirty.

There are further options to auto-commit and, if so, also auto-tag the new version. They are disabled, by default, and can be activated either once with command line options or permanently by the corresponding entries to the configuration file. The project's README provides a comprehensive explanation of all command line options and the corresponding keys for the configuration file. There are also many examples in the README.

This Pull Request is intended to make the process of preparing a new version easier by reducing the required steps to a call to a portable, free and open source CLI, controlled by a self-maintaining configuration file. The initial setup adds all sane occurrences of the version number to the scope of bump2version: line 5 of the makefile (VERSION=3.3.2) as well as line 3 of ne.spec (Version: 3.3.2). All other occurrences (git grep 3.3.2) were not added since I considered them constant. Whenever a new file is introduced which contains the version number, it can be added to .bumpversion.cfg to be updated automatically, as well.

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

Successfully merging this pull request may close these issues.

1 participant