Skip to content

Commit fbc4f1f

Browse files
committed
Quick fix for incremental rc version normalization.
1 parent 26a5eba commit fbc4f1f

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

src/towncrier/_project.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from importlib import import_module
1414
from types import ModuleType
1515

16-
from incremental import Version
16+
from incremental import Version as IncrementalVersion
1717

1818

1919
def _get_package(package_dir: str, package: str) -> ModuleType:
@@ -50,8 +50,12 @@ def get_version(package_dir: str, package: str) -> str:
5050
if isinstance(version, str):
5151
return version.strip()
5252

53-
if isinstance(version, Version):
54-
return version.base().strip()
53+
if isinstance(version, IncrementalVersion):
54+
# FIXME:https://github.com/twisted/incremental/issues/81
55+
# Incremental uses `.rcN`.
56+
# importlib uses `rcN` (without a dot separation).
57+
# Here we make incremental work like importlib.
58+
return version.base().strip().replace(".rc", "rc")
5559

5660
if isinstance(version, tuple):
5761
return ".".join(map(str, version)).strip()
@@ -76,7 +80,7 @@ def get_project_name(package_dir: str, package: str) -> str:
7680
if isinstance(version, str):
7781
return package.title()
7882

79-
if isinstance(version, Version):
83+
if isinstance(version, IncrementalVersion):
8084
# Incremental has support for package names
8185
return version.package
8286

src/towncrier/test/test_project.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414

1515

1616
try:
17-
from importlib.metadata import version
17+
from importlib.metadata import version as metadata_version
1818
except ImportError:
19-
version = None
19+
metadata_version = None
2020

2121

2222
class VersionFetchingTests(TestCase):
@@ -48,14 +48,14 @@ def test_tuple(self):
4848
version = get_version(temp, "mytestproja")
4949
self.assertEqual(version, "1.3.12")
5050

51-
@skipIf(version is None, "Needs importlib.metadata.")
51+
@skipIf(metadata_version is None, "Needs importlib.metadata.")
5252
def test_incremental(self):
5353
"""
5454
An incremental Version __version__ is picked up.
5555
"""
5656
pkg = "../src"
5757

58-
self.assertEqual(version("towncrier"), get_version(pkg, "towncrier"))
58+
self.assertEqual(metadata_version("towncrier"), get_version(pkg, "towncrier"))
5959
self.assertEqual("towncrier", get_project_name(pkg, "towncrier"))
6060

6161
def _setup_missing(self):

0 commit comments

Comments
 (0)