@@ -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
@@ -449,8 +455,9 @@ def format_version(version: ScmVersion) -> str:
449455 if version .preformatted :
450456 assert isinstance (version .tag , str )
451457 return version .tag
458+
452459 main_version = _entrypoints ._call_version_scheme (
453- version , "setuptools_scm.version_scheme" , version .config .version_scheme , None
460+ version , "setuptools_scm.version_scheme" , version .config .version_scheme
454461 )
455462 log .debug ("version %s" , main_version )
456463 assert main_version is not None
0 commit comments