@@ -62,15 +62,21 @@ def _parse_version_tag(
6262 log .debug (
6363 "key %s data %s, %s, %r" , key , match .groupdict (), match .groups (), full
6464 )
65- result = _TagDict (
66- version = match .group (key ),
67- prefix = full [: match .start (key )],
68- suffix = full [match .end (key ) :],
69- )
7065
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+ )
7480 else :
7581 log .debug ("tag %r did not parse" , tag )
7682
@@ -442,8 +448,9 @@ def format_version(version: ScmVersion) -> str:
442448 if version .preformatted :
443449 assert isinstance (version .tag , str )
444450 return version .tag
451+
445452 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
447454 )
448455 log .debug ("version %s" , main_version )
449456 assert main_version is not None
0 commit comments