@@ -62,15 +62,21 @@ def _parse_version_tag(
62
62
log .debug (
63
63
"key %s data %s, %s, %r" , key , match .groupdict (), match .groups (), full
64
64
)
65
- result = _TagDict (
66
- version = match .group (key ),
67
- prefix = full [: match .start (key )],
68
- suffix = full [match .end (key ) :],
69
- )
70
65
71
- log .debug ("tag %r parsed to %r" , tag , result )
72
- assert result ["version" ]
73
- return result
66
+ if version := match .group (key ):
67
+ result = _TagDict (
68
+ version = version ,
69
+ prefix = full [: match .start (key )],
70
+ suffix = full [match .end (key ) :],
71
+ )
72
+
73
+ log .debug ("tag %r parsed to %r" , tag , result )
74
+ return result
75
+
76
+ raise ValueError (
77
+ f'The tag_regex "{ config .tag_regex .pattern } " matched tag "{ tag } ", '
78
+ "however the matched group has no value."
79
+ )
74
80
else :
75
81
log .debug ("tag %r did not parse" , tag )
76
82
@@ -442,8 +448,9 @@ def format_version(version: ScmVersion) -> str:
442
448
if version .preformatted :
443
449
assert isinstance (version .tag , str )
444
450
return version .tag
451
+
445
452
main_version = _entrypoints ._call_version_scheme (
446
- version , "setuptools_scm.version_scheme" , version .config .version_scheme , None
453
+ version , "setuptools_scm.version_scheme" , version .config .version_scheme
447
454
)
448
455
log .debug ("version %s" , main_version )
449
456
assert main_version is not None
0 commit comments