@@ -111,19 +111,26 @@ def parse(root, describe_command=DEFAULT_DESCRIBE, pre_parse=warn_on_shallow):
111
111
dirty = dirty ,
112
112
branch = wd .get_branch (),
113
113
)
114
+ else :
115
+ tag , number , node , dirty = _git_parse_describe (out )
116
+
117
+ branch = wd .get_branch ()
118
+ if number :
119
+ return meta (tag , distance = number , node = node , dirty = dirty , branch = branch )
120
+ else :
121
+ return meta (tag , node = node , dirty = dirty , branch = branch )
122
+
114
123
115
- # 'out' looks e.g. like 'v1.5.0-0-g4060507' or
124
+ def _git_parse_describe (describe_output ):
125
+ # 'describe_output' looks e.g. like 'v1.5.0-0-g4060507' or
116
126
# 'v1.15.1rc1-37-g9bd1298-dirty'.
117
- if out .endswith ("-dirty" ):
127
+
128
+ if describe_output .endswith ("-dirty" ):
118
129
dirty = True
119
- out = out [:- 6 ]
130
+ describe_output = describe_output [:- 6 ]
120
131
else :
121
132
dirty = False
122
133
123
- tag , number , node = out .rsplit ("-" , 2 )
134
+ tag , number , node = describe_output .rsplit ("-" , 2 )
124
135
number = int (number )
125
- branch = wd .get_branch ()
126
- if number :
127
- return meta (tag , distance = number , node = node , dirty = dirty , branch = branch )
128
- else :
129
- return meta (tag , node = node , dirty = dirty , branch = branch )
136
+ return tag , number , node , dirty
0 commit comments