MCPcopy Index your code
hub / github.com/commitizen-tools/commitizen / bump

Method bump

commitizen/version_schemes.py:232–273  ·  view source on GitHub ↗

Based on the given increment a proper semver will be generated. For now the rules and versioning scheme is based on python's PEP 0440. More info: https://www.python.org/dev/peps/pep-0440/ Example: PATCH 1.0.0 -> 1.0.1 MINOR 1.0.0 -> 1.1.0

(
        self,
        increment: Increment | None,
        prerelease: Prerelease | None = None,
        prerelease_offset: int = 0,
        devrelease: int | None = None,
        is_local_version: bool = False,
        build_metadata: str | None = None,
        exact_increment: bool = False,
    )

Source from the content-addressed store, hash-verified

230 return f"{base[MAJOR]}.{base[MINOR]}.{base[PATCH]}"
231
232 def bump(
233 self,
234 increment: Increment | None,
235 prerelease: Prerelease | None = None,
236 prerelease_offset: int = 0,
237 devrelease: int | None = None,
238 is_local_version: bool = False,
239 build_metadata: str | None = None,
240 exact_increment: bool = False,
241 ) -> Self:
242 """Based on the given increment a proper semver will be generated.
243
244 For now the rules and versioning scheme is based on
245 python's PEP 0440.
246 More info: https://www.python.org/dev/peps/pep-0440/
247
248 Example:
249 PATCH 1.0.0 -> 1.0.1
250 MINOR 1.0.0 -> 1.1.0
251 MAJOR 1.0.0 -> 2.0.0
252 """
253
254 if self.local and is_local_version:
255 local_version = self.scheme(self.local).bump(increment)
256 return self.scheme(f"{self.public}+{local_version}") # type: ignore[return-value]
257
258 base = self._get_increment_base(increment, exact_increment)
259 dev_version = self.generate_devrelease(devrelease)
260
261 release = list(self.release)
262 if len(release) < 3:
263 release += [0] * (3 - len(release))
264 current_base = ".".join(str(part) for part in release)
265
266 pre_version = (
267 self if base == current_base else cast("BaseVersion", self.scheme(base))
268 ).generate_prerelease(prerelease, offset=prerelease_offset)
269
270 # TODO: post version
271 return self.scheme(
272 f"{base}{pre_version}{dev_version}{self.generate_build_metadata(build_metadata)}"
273 ) # type: ignore[return-value]
274
275 def _get_increment_base(
276 self, increment: Increment | None, exact_increment: bool

Calls 5

schemeMethod · 0.95
_get_increment_baseMethod · 0.95
generate_devreleaseMethod · 0.95
generate_prereleaseMethod · 0.80