setuptools-git-versioning 1.13.5__tar.gz → 2.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {setuptools-git-versioning-1.13.5/setuptools_git_versioning.egg-info → setuptools-git-versioning-2.0.0}/PKG-INFO +14 -8
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/README.rst +9 -7
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/setup.py +3 -3
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0/setuptools_git_versioning.egg-info}/PKG-INFO +14 -8
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/setuptools_git_versioning.egg-info/entry_points.txt +1 -2
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/setuptools_git_versioning.py +47 -78
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/LICENSE +0 -0
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/MANIFEST.in +0 -0
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/requirements.txt +0 -0
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/setup.cfg +0 -0
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/setuptools_git_versioning.egg-info/SOURCES.txt +0 -0
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/setuptools_git_versioning.egg-info/dependency_links.txt +0 -0
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/setuptools_git_versioning.egg-info/not-zip-safe +0 -0
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/setuptools_git_versioning.egg-info/requires.txt +0 -0
- {setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/setuptools_git_versioning.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: setuptools-git-versioning
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: Use git repo data for building a version number according PEP-440
|
|
5
5
|
Home-page: https://setuptools-git-versioning.readthedocs.io
|
|
6
6
|
Author: dolfinus
|
|
@@ -20,11 +20,15 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.9
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
24
|
Classifier: License :: OSI Approved :: MIT License
|
|
24
25
|
Classifier: Operating System :: OS Independent
|
|
25
26
|
Requires-Python: >=3.7
|
|
26
27
|
Description-Content-Type: text/x-rst
|
|
27
28
|
License-File: LICENSE
|
|
29
|
+
Requires-Dist: packaging
|
|
30
|
+
Requires-Dist: setuptools
|
|
31
|
+
Requires-Dist: toml>=0.10.2; python_version < "3.11"
|
|
28
32
|
|
|
29
33
|
*************************
|
|
30
34
|
setuptools-git-versioning
|
|
@@ -68,14 +72,16 @@ version number according :pep:`440`.
|
|
|
68
72
|
|
|
69
73
|
- Well-documented
|
|
70
74
|
|
|
71
|
-
See `
|
|
75
|
+
See `comparison <https://setuptools-git-versioning.readthedocs.io/en/stable/comparison.html>`_
|
|
72
76
|
between ``setuptools-git-versioning`` and other tools.
|
|
73
77
|
|
|
74
78
|
**Limitations:**
|
|
75
79
|
|
|
76
80
|
- Currently the only supported VCS is *Git*
|
|
77
81
|
|
|
78
|
-
- Only
|
|
82
|
+
- Only Git v2 is supported
|
|
83
|
+
|
|
84
|
+
- Only Setuptools build backend is supported (no Poetry & others)
|
|
79
85
|
|
|
80
86
|
- Currently does not support automatic exporting of package version to a file for runtime use
|
|
81
87
|
(but you can use ``setuptools-git-versioning > file`` redirect instead)
|
|
@@ -109,7 +115,7 @@ add a section ``tool.setuptools-git-versioning`` with config options, and mark t
|
|
|
109
115
|
.. code:: toml
|
|
110
116
|
|
|
111
117
|
[build-system]
|
|
112
|
-
requires = [ "setuptools>=41", "wheel", "setuptools-git-versioning
|
|
118
|
+
requires = [ "setuptools>=41", "wheel", "setuptools-git-versioning>=2.0,<3", ]
|
|
113
119
|
build-backend = "setuptools.build_meta"
|
|
114
120
|
|
|
115
121
|
[tool.setuptools-git-versioning]
|
|
@@ -118,7 +124,7 @@ add a section ``tool.setuptools-git-versioning`` with config options, and mark t
|
|
|
118
124
|
[project]
|
|
119
125
|
dynamic = ["version"]
|
|
120
126
|
|
|
121
|
-
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`
|
|
127
|
+
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`_):
|
|
122
128
|
|
|
123
129
|
.. code:: bash
|
|
124
130
|
|
|
@@ -131,7 +137,7 @@ And check the package version generated (see `command help <https://setuptools-g
|
|
|
131
137
|
0.0.1
|
|
132
138
|
|
|
133
139
|
``setup.py``
|
|
134
|
-
|
|
140
|
+
~~~~~~~~~~~~
|
|
135
141
|
|
|
136
142
|
Just add ``setuptools-git-versioning`` to ``setup_requires`` argument of ``setuptools.setup`` function call,
|
|
137
143
|
and then add new argument ``setuptools_git_versioning`` with config options:
|
|
@@ -145,10 +151,10 @@ and then add new argument ``setuptools_git_versioning`` with config options:
|
|
|
145
151
|
setuptools_git_versioning={
|
|
146
152
|
"enabled": True,
|
|
147
153
|
},
|
|
148
|
-
setup_requires=["setuptools-git-versioning
|
|
154
|
+
setup_requires=["setuptools-git-versioning>=2.0,<3"],
|
|
149
155
|
)
|
|
150
156
|
|
|
151
|
-
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`
|
|
157
|
+
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`_):
|
|
152
158
|
|
|
153
159
|
.. code:: bash
|
|
154
160
|
|
|
@@ -40,14 +40,16 @@ version number according :pep:`440`.
|
|
|
40
40
|
|
|
41
41
|
- Well-documented
|
|
42
42
|
|
|
43
|
-
See `
|
|
43
|
+
See `comparison <https://setuptools-git-versioning.readthedocs.io/en/stable/comparison.html>`_
|
|
44
44
|
between ``setuptools-git-versioning`` and other tools.
|
|
45
45
|
|
|
46
46
|
**Limitations:**
|
|
47
47
|
|
|
48
48
|
- Currently the only supported VCS is *Git*
|
|
49
49
|
|
|
50
|
-
- Only
|
|
50
|
+
- Only Git v2 is supported
|
|
51
|
+
|
|
52
|
+
- Only Setuptools build backend is supported (no Poetry & others)
|
|
51
53
|
|
|
52
54
|
- Currently does not support automatic exporting of package version to a file for runtime use
|
|
53
55
|
(but you can use ``setuptools-git-versioning > file`` redirect instead)
|
|
@@ -81,7 +83,7 @@ add a section ``tool.setuptools-git-versioning`` with config options, and mark t
|
|
|
81
83
|
.. code:: toml
|
|
82
84
|
|
|
83
85
|
[build-system]
|
|
84
|
-
requires = [ "setuptools>=41", "wheel", "setuptools-git-versioning
|
|
86
|
+
requires = [ "setuptools>=41", "wheel", "setuptools-git-versioning>=2.0,<3", ]
|
|
85
87
|
build-backend = "setuptools.build_meta"
|
|
86
88
|
|
|
87
89
|
[tool.setuptools-git-versioning]
|
|
@@ -90,7 +92,7 @@ add a section ``tool.setuptools-git-versioning`` with config options, and mark t
|
|
|
90
92
|
[project]
|
|
91
93
|
dynamic = ["version"]
|
|
92
94
|
|
|
93
|
-
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`
|
|
95
|
+
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`_):
|
|
94
96
|
|
|
95
97
|
.. code:: bash
|
|
96
98
|
|
|
@@ -103,7 +105,7 @@ And check the package version generated (see `command help <https://setuptools-g
|
|
|
103
105
|
0.0.1
|
|
104
106
|
|
|
105
107
|
``setup.py``
|
|
106
|
-
|
|
108
|
+
~~~~~~~~~~~~
|
|
107
109
|
|
|
108
110
|
Just add ``setuptools-git-versioning`` to ``setup_requires`` argument of ``setuptools.setup`` function call,
|
|
109
111
|
and then add new argument ``setuptools_git_versioning`` with config options:
|
|
@@ -117,10 +119,10 @@ and then add new argument ``setuptools_git_versioning`` with config options:
|
|
|
117
119
|
setuptools_git_versioning={
|
|
118
120
|
"enabled": True,
|
|
119
121
|
},
|
|
120
|
-
setup_requires=["setuptools-git-versioning
|
|
122
|
+
setup_requires=["setuptools-git-versioning>=2.0,<3"],
|
|
121
123
|
)
|
|
122
124
|
|
|
123
|
-
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`
|
|
125
|
+
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`_):
|
|
124
126
|
|
|
125
127
|
.. code:: bash
|
|
126
128
|
|
|
@@ -19,7 +19,7 @@ setup(
|
|
|
19
19
|
name="setuptools-git-versioning",
|
|
20
20
|
# +local version is not allowed in PyPI
|
|
21
21
|
# https://github.com/pypa/pypi-legacy/issues/731#issuecomment-345461596
|
|
22
|
-
version='
|
|
22
|
+
version='2.0.0',
|
|
23
23
|
author="dolfinus",
|
|
24
24
|
author_email="martinov.m.s.8@gmail.com",
|
|
25
25
|
description="Use git repo data for building a version number according PEP-440",
|
|
@@ -38,6 +38,7 @@ setup(
|
|
|
38
38
|
"Programming Language :: Python :: 3.9",
|
|
39
39
|
"Programming Language :: Python :: 3.10",
|
|
40
40
|
"Programming Language :: Python :: 3.11",
|
|
41
|
+
"Programming Language :: Python :: 3.12",
|
|
41
42
|
"License :: OSI Approved :: MIT License",
|
|
42
43
|
"Operating System :: OS Independent",
|
|
43
44
|
],
|
|
@@ -54,8 +55,7 @@ setup(
|
|
|
54
55
|
setup_requires=requirements,
|
|
55
56
|
entry_points={
|
|
56
57
|
"distutils.setup_keywords": [
|
|
57
|
-
"
|
|
58
|
-
"setuptools_git_versioning = setuptools_git_versioning:_parse_config",
|
|
58
|
+
"setuptools_git_versioning = setuptools_git_versioning:parse_config",
|
|
59
59
|
],
|
|
60
60
|
"setuptools.finalize_distribution_options": [
|
|
61
61
|
"setuptools_git_versioning = setuptools_git_versioning:infer_version",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: setuptools-git-versioning
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: Use git repo data for building a version number according PEP-440
|
|
5
5
|
Home-page: https://setuptools-git-versioning.readthedocs.io
|
|
6
6
|
Author: dolfinus
|
|
@@ -20,11 +20,15 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.9
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
24
|
Classifier: License :: OSI Approved :: MIT License
|
|
24
25
|
Classifier: Operating System :: OS Independent
|
|
25
26
|
Requires-Python: >=3.7
|
|
26
27
|
Description-Content-Type: text/x-rst
|
|
27
28
|
License-File: LICENSE
|
|
29
|
+
Requires-Dist: packaging
|
|
30
|
+
Requires-Dist: setuptools
|
|
31
|
+
Requires-Dist: toml>=0.10.2; python_version < "3.11"
|
|
28
32
|
|
|
29
33
|
*************************
|
|
30
34
|
setuptools-git-versioning
|
|
@@ -68,14 +72,16 @@ version number according :pep:`440`.
|
|
|
68
72
|
|
|
69
73
|
- Well-documented
|
|
70
74
|
|
|
71
|
-
See `
|
|
75
|
+
See `comparison <https://setuptools-git-versioning.readthedocs.io/en/stable/comparison.html>`_
|
|
72
76
|
between ``setuptools-git-versioning`` and other tools.
|
|
73
77
|
|
|
74
78
|
**Limitations:**
|
|
75
79
|
|
|
76
80
|
- Currently the only supported VCS is *Git*
|
|
77
81
|
|
|
78
|
-
- Only
|
|
82
|
+
- Only Git v2 is supported
|
|
83
|
+
|
|
84
|
+
- Only Setuptools build backend is supported (no Poetry & others)
|
|
79
85
|
|
|
80
86
|
- Currently does not support automatic exporting of package version to a file for runtime use
|
|
81
87
|
(but you can use ``setuptools-git-versioning > file`` redirect instead)
|
|
@@ -109,7 +115,7 @@ add a section ``tool.setuptools-git-versioning`` with config options, and mark t
|
|
|
109
115
|
.. code:: toml
|
|
110
116
|
|
|
111
117
|
[build-system]
|
|
112
|
-
requires = [ "setuptools>=41", "wheel", "setuptools-git-versioning
|
|
118
|
+
requires = [ "setuptools>=41", "wheel", "setuptools-git-versioning>=2.0,<3", ]
|
|
113
119
|
build-backend = "setuptools.build_meta"
|
|
114
120
|
|
|
115
121
|
[tool.setuptools-git-versioning]
|
|
@@ -118,7 +124,7 @@ add a section ``tool.setuptools-git-versioning`` with config options, and mark t
|
|
|
118
124
|
[project]
|
|
119
125
|
dynamic = ["version"]
|
|
120
126
|
|
|
121
|
-
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`
|
|
127
|
+
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`_):
|
|
122
128
|
|
|
123
129
|
.. code:: bash
|
|
124
130
|
|
|
@@ -131,7 +137,7 @@ And check the package version generated (see `command help <https://setuptools-g
|
|
|
131
137
|
0.0.1
|
|
132
138
|
|
|
133
139
|
``setup.py``
|
|
134
|
-
|
|
140
|
+
~~~~~~~~~~~~
|
|
135
141
|
|
|
136
142
|
Just add ``setuptools-git-versioning`` to ``setup_requires`` argument of ``setuptools.setup`` function call,
|
|
137
143
|
and then add new argument ``setuptools_git_versioning`` with config options:
|
|
@@ -145,10 +151,10 @@ and then add new argument ``setuptools_git_versioning`` with config options:
|
|
|
145
151
|
setuptools_git_versioning={
|
|
146
152
|
"enabled": True,
|
|
147
153
|
},
|
|
148
|
-
setup_requires=["setuptools-git-versioning
|
|
154
|
+
setup_requires=["setuptools-git-versioning>=2.0,<3"],
|
|
149
155
|
)
|
|
150
156
|
|
|
151
|
-
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`
|
|
157
|
+
And check the package version generated (see `command help <https://setuptools-git-versioning.readthedocs.io/en/stable/command.html>`_):
|
|
152
158
|
|
|
153
159
|
.. code:: bash
|
|
154
160
|
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
setuptools-git-versioning = setuptools_git_versioning:__main__
|
|
3
3
|
|
|
4
4
|
[distutils.setup_keywords]
|
|
5
|
-
setuptools_git_versioning = setuptools_git_versioning:
|
|
6
|
-
version_config = setuptools_git_versioning:_parse_config
|
|
5
|
+
setuptools_git_versioning = setuptools_git_versioning:parse_config
|
|
7
6
|
|
|
8
7
|
[setuptools.finalize_distribution_options]
|
|
9
8
|
setuptools_git_versioning = setuptools_git_versioning:infer_version
|
{setuptools-git-versioning-1.13.5 → setuptools-git-versioning-2.0.0}/setuptools_git_versioning.py
RENAMED
|
@@ -9,7 +9,6 @@ import re
|
|
|
9
9
|
import subprocess # nosec
|
|
10
10
|
import sys
|
|
11
11
|
import textwrap
|
|
12
|
-
import warnings
|
|
13
12
|
from datetime import datetime
|
|
14
13
|
from pathlib import Path
|
|
15
14
|
from pprint import pformat
|
|
@@ -104,18 +103,6 @@ def get_all_tags(sort_by: str = DEFAULT_SORT_BY, root: str | os.PathLike | None
|
|
|
104
103
|
return []
|
|
105
104
|
|
|
106
105
|
|
|
107
|
-
def get_branch_tags(*args, **kwargs) -> list[str]:
|
|
108
|
-
warnings.warn(
|
|
109
|
-
"`get_branch_tags` function is deprecated "
|
|
110
|
-
"since setuptools-git-versioning v1.8.0 "
|
|
111
|
-
"and will be dropped in v2.0.0\n"
|
|
112
|
-
"Please use `get_tags` instead",
|
|
113
|
-
category=UserWarning,
|
|
114
|
-
)
|
|
115
|
-
|
|
116
|
-
return get_tags(*args, **kwargs)
|
|
117
|
-
|
|
118
|
-
|
|
119
106
|
def get_tags(
|
|
120
107
|
sort_by: str = DEFAULT_SORT_BY,
|
|
121
108
|
filter_callback: Callable[[str], str | None] | None = None,
|
|
@@ -188,7 +175,7 @@ def _read_toml(name_or_path: str | os.PathLike = "pyproject.toml", root: str | o
|
|
|
188
175
|
|
|
189
176
|
log.log(INFO, "Trying 'pyproject.toml' ...")
|
|
190
177
|
try:
|
|
191
|
-
# for Python 3.11
|
|
178
|
+
# for Python 3.11+
|
|
192
179
|
import tomllib
|
|
193
180
|
|
|
194
181
|
with file_path.open("rb") as file:
|
|
@@ -232,24 +219,9 @@ def _infer_setup_py(name_or_path: str = "setup.py", root: str | os.PathLike | No
|
|
|
232
219
|
os.chdir(original_cwd)
|
|
233
220
|
|
|
234
221
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
if attr == "version_config" and value is not None:
|
|
240
|
-
warnings.warn(
|
|
241
|
-
"'version_config' option is deprecated "
|
|
242
|
-
"since setuptools-git-versioning v1.8.0 "
|
|
243
|
-
"and will be dropped in v2.0.0\n"
|
|
244
|
-
"Please rename it to 'setuptools_git_versioning'",
|
|
245
|
-
category=UserWarning,
|
|
246
|
-
)
|
|
247
|
-
|
|
248
|
-
if getattr(dist, "setuptools_git_versioning", None) is not None:
|
|
249
|
-
raise DistutilsOptionError(
|
|
250
|
-
"You can set either 'version_config' or 'setuptools_git_versioning' "
|
|
251
|
-
"but not both of them at the same time"
|
|
252
|
-
)
|
|
222
|
+
def parse_config(dist: Distribution, attr: Any, value: Any) -> None:
|
|
223
|
+
"Dummy function used only to register in distutils"
|
|
224
|
+
return None
|
|
253
225
|
|
|
254
226
|
|
|
255
227
|
def infer_version(dist: Distribution, root: str | os.PathLike | None = None) -> str | None:
|
|
@@ -257,18 +229,7 @@ def infer_version(dist: Distribution, root: str | os.PathLike | None = None) ->
|
|
|
257
229
|
|
|
258
230
|
from distutils.errors import DistutilsOptionError, DistutilsSetupError
|
|
259
231
|
|
|
260
|
-
config = getattr(dist, "setuptools_git_versioning", None)
|
|
261
|
-
|
|
262
|
-
if isinstance(config, bool):
|
|
263
|
-
warnings.warn(
|
|
264
|
-
"Passing boolean value to 'version_config'/'setuptools_git_versioning' option is deprecated "
|
|
265
|
-
"since setuptools-git-versioning 1.8.0 "
|
|
266
|
-
"and will be dropped in v2.0.0\n"
|
|
267
|
-
"Please change value to '{'enabled': False/True}'",
|
|
268
|
-
category=UserWarning,
|
|
269
|
-
)
|
|
270
|
-
config = {"enabled": config}
|
|
271
|
-
|
|
232
|
+
config = getattr(dist, "setuptools_git_versioning", None)
|
|
272
233
|
toml_config = _read_toml(root=root)
|
|
273
234
|
|
|
274
235
|
if config is None:
|
|
@@ -450,12 +411,12 @@ def _callable_factory(
|
|
|
450
411
|
try:
|
|
451
412
|
return _load_callable(regexp_or_ref, package_name, root=root)
|
|
452
413
|
except (ImportError, NameError) as e:
|
|
453
|
-
log.
|
|
414
|
+
log.log(DEBUG, "%s is not a valid function reference: %s", callable_name, e)
|
|
454
415
|
|
|
455
416
|
try:
|
|
456
417
|
return callable_factory(regexp_or_ref)
|
|
457
418
|
except re.error as e:
|
|
458
|
-
log.error("%s is not valid regexp: %s", callable_name, e)
|
|
419
|
+
log.error("%s is not valid regexp neither a valid function reference: %s", callable_name, e)
|
|
459
420
|
raise ValueError(f"Cannot parse {callable_name}") from e
|
|
460
421
|
|
|
461
422
|
|
|
@@ -545,6 +506,9 @@ def version_from_git(
|
|
|
545
506
|
)
|
|
546
507
|
return _get_version_from_callback(version_callback, package_name, root=root)
|
|
547
508
|
|
|
509
|
+
head_sha = get_sha(root=root)
|
|
510
|
+
log.log(INFO, "HEAD SHA-256: %r", head_sha)
|
|
511
|
+
|
|
548
512
|
filter_callback = None
|
|
549
513
|
if tag_filter:
|
|
550
514
|
filter_callback = _callable_factory(
|
|
@@ -555,16 +519,22 @@ def version_from_git(
|
|
|
555
519
|
root=root,
|
|
556
520
|
)
|
|
557
521
|
|
|
558
|
-
from_file = False
|
|
559
522
|
log.log(INFO, "Getting latest tag")
|
|
560
523
|
log.log(DEBUG, "Sorting tags by %r", sort_by)
|
|
561
524
|
tag = get_tag(sort_by=sort_by, root=root, filter_callback=filter_callback)
|
|
525
|
+
if not tag:
|
|
526
|
+
log.log(INFO, "No tags found")
|
|
527
|
+
tag_sha = None
|
|
528
|
+
on_tag = False
|
|
529
|
+
else:
|
|
530
|
+
tag_sha = get_sha(tag, root=root)
|
|
531
|
+
log.log(INFO, "Tag SHA-256: %r", tag_sha)
|
|
532
|
+
|
|
533
|
+
on_tag = head_sha is not None and head_sha == tag_sha
|
|
534
|
+
log.log(INFO, "HEAD is tagged: %r", on_tag)
|
|
562
535
|
|
|
563
|
-
if
|
|
564
|
-
log.log(INFO, "
|
|
565
|
-
if version_file is None:
|
|
566
|
-
log.log(INFO, "No 'version_file' set, return starting_version %r", starting_version)
|
|
567
|
-
return _sanitize_version(starting_version)
|
|
536
|
+
if version_file:
|
|
537
|
+
log.log(INFO, "Checking for 'version_file'")
|
|
568
538
|
|
|
569
539
|
if not Path(version_file).exists():
|
|
570
540
|
log.log(
|
|
@@ -573,26 +543,30 @@ def version_from_git(
|
|
|
573
543
|
version_file,
|
|
574
544
|
starting_version,
|
|
575
545
|
)
|
|
576
|
-
|
|
546
|
+
tag = None
|
|
547
|
+
else:
|
|
548
|
+
log.log(INFO, "Reading version_file '%s' content", version_file)
|
|
549
|
+
tag = _read_version_from_file(version_file, root=root) or None
|
|
550
|
+
|
|
551
|
+
if not tag:
|
|
552
|
+
log.log(INFO, "File %r is empty", version_file)
|
|
553
|
+
else:
|
|
554
|
+
log.log(DEBUG, "File content: %r", tag)
|
|
555
|
+
if not count_commits_from_version_file:
|
|
556
|
+
return _sanitize_version(tag)
|
|
577
557
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
tag = _read_version_from_file(version_file, root=root)
|
|
558
|
+
file_sha = get_latest_file_commit(version_file, root=root)
|
|
559
|
+
log.log(DEBUG, "File SHA-256: %r", file_sha)
|
|
581
560
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
return _sanitize_version(starting_version)
|
|
561
|
+
ccount = count_since(file_sha, root=root) if file_sha is not None else None
|
|
562
|
+
log.log(INFO, "Commits count between HEAD and last version file change: %r", ccount)
|
|
585
563
|
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
return _sanitize_version(tag)
|
|
564
|
+
elif not head_sha:
|
|
565
|
+
log.log(INFO, "Not a git repo, or repo without any branch")
|
|
589
566
|
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
log.log(INFO, "Latest tag: %r", tag)
|
|
594
|
-
tag_sha = get_sha(tag, root=root)
|
|
595
|
-
log.log(INFO, "Tag SHA-256: %r", tag_sha)
|
|
567
|
+
elif tag_sha:
|
|
568
|
+
ccount = count_since(tag_sha, root=root)
|
|
569
|
+
log.log(INFO, "Commits count between HEAD and last tag: %r", ccount)
|
|
596
570
|
|
|
597
571
|
if tag_formatter is not None:
|
|
598
572
|
tag_format_callback = _callable_factory(
|
|
@@ -606,19 +580,13 @@ def version_from_git(
|
|
|
606
580
|
tag = tag_format_callback(tag)
|
|
607
581
|
log.log(DEBUG, "Tag after formatting: %r", tag)
|
|
608
582
|
|
|
583
|
+
if not tag:
|
|
584
|
+
log.log(INFO, "No source for version, return starting_version %r", starting_version)
|
|
585
|
+
return _sanitize_version(starting_version)
|
|
586
|
+
|
|
609
587
|
dirty = is_dirty(root=root)
|
|
610
588
|
log.log(INFO, "Is dirty: %r", dirty)
|
|
611
589
|
|
|
612
|
-
head_sha = get_sha(root=root)
|
|
613
|
-
log.log(INFO, "HEAD SHA-256: %r", head_sha)
|
|
614
|
-
|
|
615
|
-
full_sha = head_sha if head_sha is not None else ""
|
|
616
|
-
ccount = count_since(tag_sha, root=root) if tag_sha is not None else None
|
|
617
|
-
log.log(INFO, "Commits count between HEAD and latest tag: %r", ccount)
|
|
618
|
-
|
|
619
|
-
on_tag = head_sha is not None and head_sha == tag_sha and not from_file
|
|
620
|
-
log.log(INFO, "HEAD is tagged: %r", on_tag)
|
|
621
|
-
|
|
622
590
|
branch = get_branch(root=root)
|
|
623
591
|
log.log(INFO, "Current branch: %r", branch)
|
|
624
592
|
|
|
@@ -644,6 +612,7 @@ def version_from_git(
|
|
|
644
612
|
log.log(INFO, "Using template from 'template' option")
|
|
645
613
|
t = template
|
|
646
614
|
|
|
615
|
+
full_sha = head_sha if head_sha is not None else ""
|
|
647
616
|
version = _resolve_substitutions(t, sha=full_sha[:8], tag=tag, ccount=ccount, branch=branch, full_sha=full_sha)
|
|
648
617
|
log.log(INFO, "Version number after resolving substitutions: %r", version)
|
|
649
618
|
return _sanitize_version(version)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|