@@ -55,6 +55,7 @@ def tags_to_versions(tags):
55
55
class ScmVersion (object ):
56
56
def __init__ (self , tag_version ,
57
57
distance = None , node = None , dirty = False ,
58
+ preformated = False ,
58
59
** kw ):
59
60
self .tag = tag_version
60
61
if dirty and distance is None :
@@ -84,11 +85,17 @@ def format_choice(self, clean_format, dirty_format):
84
85
return self .format_with (dirty_format if self .dirty else clean_format )
85
86
86
87
87
- def meta (tag , distance = None , dirty = False , node = None , ** kw ):
88
+ def _parse_tag (tag , preformated ):
89
+ if preformated :
90
+ return tag
88
91
if SetuptoolsVersion is None or not isinstance (tag , SetuptoolsVersion ):
89
92
tag = tag_to_version (tag )
90
- trace ('version' , tag )
93
+ return tag
94
+
91
95
96
+ def meta (tag , distance = None , dirty = False , node = None , preformated = False , ** kw ):
97
+ tag = _parse_tag (tag , preformated )
98
+ trace ('version' , tag )
92
99
assert tag is not None , 'cant parse version %s' % tag
93
100
return ScmVersion (tag , distance , node , dirty , ** kw )
94
101
@@ -147,6 +154,8 @@ def postrelease_version(version):
147
154
def format_version (version , ** config ):
148
155
trace ('scm version' , version )
149
156
trace ('config' , config )
157
+ if version .preformated :
158
+ return version .tag
150
159
version_scheme = callable_or_entrypoint (
151
160
'setuptools_scm.version_scheme' , config ['version_scheme' ])
152
161
local_scheme = callable_or_entrypoint (
0 commit comments