Description
When a dep is specified using the {} syntax, eg
smart-open = {version = ">=5.2.0,<6.1.0", extras = ["s3"]}
and the version of the dep matches the version of the project, then bump will change both versions.
Is it possible to specify a regex in the configuration - ie to ensure that the version string is at the start of line, not in the middle?
Ref https://commitizen-tools.github.io/commitizen/config/#pyprojecttoml-or-cztoml
Steps to reproduce
Create a project, where the project version is the same as a dependency version, and where the dependency uses poetry's optional {} syntax
mkdir bug-report
cd bug-report
cat << EOF > pyproject.toml
[tool.poetry]
name = "foo"
version = "6.1.0"
description = "foo"
authors = ["First Last <firstLast@example.com>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.9"
smart-open = {version = ">=5.2.0,<6.1.0", extras = ["s3"]}
[tool.commitizen]
name = "cz_conventional_commits"
version = "6.1.0"
version_files = ["pyproject.toml:version"]
tag_format = "v$version"
EOF
Init
git init
git add .
git commit -m 'first commit'
Check the current version of the project
❯ cz version --project
6.1.0
Make a change
mkdir src
touch src/__init__.py
git add .
git commit -m 'feat: a feature'
bump the project
❯ cz bump --yes
bump: version 6.1.0 → 6.2.0
tag to create: v6.2.0
increment detected: MINOR
Done!
See the version change in the dependency...
❯ cat pyproject.toml
[tool.poetry]
name = "foo"
version = "6.2.0"
description = "foo"
authors = ["Andrew Sheridan <asheridan25@massmutual.com>"]
readme = "README.md"
packages = [{ include = "massmutual", from = "src"}]
[tool.poetry.dependencies]
python = "^3.9"
smart-open = {version = ">=5.2.0,<6.2.0", extras = ["s3"]}
[tool.commitizen]
name = "cz_conventional_commits"
version = "6.2.0"
version_files = ["pyproject.toml:version"]
tag_format = "v$version"
This line should not have changed: smart-open = {version = ">=5.2.0,<6.2.0", extras = ["s3"]}
Current behavior
bump erroneously changes more than it should in the toml file
Desired behavior
bump only changes the right strings in the toml file
Screenshots
No response
Environment
cz version -> 2.23.0
Description
When a dep is specified using the
{}syntax, egand the version of the dep matches the version of the project, then
bumpwill change both versions.Is it possible to specify a regex in the configuration - ie to ensure that the
versionstring is at the start of line, not in the middle?Ref https://commitizen-tools.github.io/commitizen/config/#pyprojecttoml-or-cztoml
Steps to reproduce
Create a project, where the project version is the same as a dependency version, and where the dependency uses poetry's optional
{}syntaxInit
Check the current version of the project
Make a change
bump the project
See the version change in the dependency...
This line should not have changed:
smart-open = {version = ">=5.2.0,<6.2.0", extras = ["s3"]}Current behavior
bump erroneously changes more than it should in the toml file
Desired behavior
bump only changes the right strings in the toml file
Screenshots
No response
Environment
cz version -> 2.23.0