forked from camas/setuptools-git-ver
-
-
Notifications
You must be signed in to change notification settings - Fork 17
Closed
Description
Since version 1.12.0, branch names that contain special characters, like feature/whatever
, that are not allowed in version strings, cause broken builds. I've created a minimal example to demonstrate this behavior: https://github.com/mlangc/setuptools-git-versioning-version-parsing-bug-reproduction/tree/feature/whatever
If I run setup.py --version
with the code from the link above, I get
Traceback (most recent call last):
File "setup.py", line 5, in <module>
setup(
File "/usr/local/Caskroom/miniconda/base/envs/app_ve_analytics_38/lib/python3.8/site-packages/setuptools/__init__.py", line 87, in setup
return distutils.core.setup(**attrs)
File "/usr/local/Caskroom/miniconda/base/envs/app_ve_analytics_38/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 147, in setup
_setup_distribution = dist = klass(attrs)
File "/usr/local/Caskroom/miniconda/base/envs/app_ve_analytics_38/lib/python3.8/site-packages/setuptools/dist.py", line 476, in __init__
_Distribution.__init__(
File "/usr/local/Caskroom/miniconda/base/envs/app_ve_analytics_38/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 280, in __init__
self.finalize_options()
File "/usr/local/Caskroom/miniconda/base/envs/app_ve_analytics_38/lib/python3.8/site-packages/setuptools/dist.py", line 900, in finalize_options
ep(self)
File "/usr/local/Caskroom/miniconda/base/envs/app_ve_analytics_38/lib/python3.8/site-packages/setuptools_git_versioning.py", line 251, in infer_version
version = version_from_git(dist.metadata.name, **config, root=root)
File "/usr/local/Caskroom/miniconda/base/envs/app_ve_analytics_38/lib/python3.8/site-packages/setuptools_git_versioning.py", line 565, in version_from_git
return sanitize_version(version)
File "/usr/local/Caskroom/miniconda/base/envs/app_ve_analytics_38/lib/python3.8/site-packages/setuptools_git_versioning.py", line 450, in sanitize_version
result = str(Version(version))
File "/usr/local/Caskroom/miniconda/base/envs/app_ve_analytics_38/lib/python3.8/site-packages/packaging/version.py", line 266, in __init__
raise InvalidVersion(f"Invalid version: '{version}'")
packaging.version.InvalidVersion: Invalid version: '0.0.0.dev1+feature/whatever.1.cf8f98db'
Note that everything works fine, if I use setuptools-git-versioning==1.11.0
instead. As far as I can tell, this problem was introduced by 49c719a#diff-669acc32e6f1e51356caf8db37342593a3fa289dade13da5fc4132b1f8fb1452L567, since the new sanitize_version function throws exceptions for invalid version strings.
Metadata
Metadata
Assignees
Labels
No labels