File tree Expand file tree Collapse file tree 3 files changed +15
-3
lines changed
Expand file tree Collapse file tree 3 files changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -103,6 +103,7 @@ class Configuration:
103103 dist_name : str | None = None
104104 version_cls : type [_VersionT ] = _Version
105105 search_parent_directories : bool = False
106+ micro_version_factor : int = 1000
106107
107108 parent : _t .PathT | None = None
108109
Original file line number Diff line number Diff line change @@ -295,7 +295,11 @@ def release_branch_semver_version(version: ScmVersion) -> str:
295295 if branch_ver_up_to_minor == tag_ver_up_to_minor :
296296 # We're in a release/maintenance branch, next is a patch/rc/beta bump:
297297 return version .format_next_version (guess_next_version )
298- # We're in a development branch, next is a minor bump:
298+
299+ # We're in a development branch, next is a minor bump, but take
300+ # the minor into consideration so that e.g. being five commits off
301+ # 1.0.1 is greater than being 10 commits off 1.0.0.
302+ version .distance += version .tag .micro * version .config .micro_version_factor
299303 return version .format_next_version (guess_next_simple_semver , retain = SEMVER_MINOR )
300304
301305
Original file line number Diff line number Diff line change @@ -32,7 +32,12 @@ def wd(wd: WorkDir) -> WorkDir:
3232archival_mapping = {
3333 "1.0" : {"tag" : "1.0" },
3434 "1.1.0.dev3+h000000000000" : {
35- "latesttag" : "1.0" ,
35+ "latesttag" : "1.0.0" ,
36+ "latesttagdistance" : "3" ,
37+ "node" : "0" * 20 ,
38+ },
39+ "1.1.0.dev103+h000000000000" : {
40+ "latesttag" : "1.0.1" ,
3641 "latesttagdistance" : "3" ,
3742 "node" : "0" * 20 ,
3843 },
@@ -51,7 +56,9 @@ def wd(wd: WorkDir) -> WorkDir:
5156@pytest .mark .parametrize (("expected" , "data" ), sorted (archival_mapping .items ()))
5257def test_archival_to_version (expected : str , data : dict [str , str ]) -> None :
5358 config = Configuration (
54- version_scheme = "release-branch-semver" , local_scheme = "node-and-date"
59+ version_scheme = "release-branch-semver" ,
60+ local_scheme = "node-and-date" ,
61+ micro_version_factor = 100 ,
5562 )
5663 version = archival_to_version (data , config = config )
5764 assert format_version (version ) == expected
You can’t perform that action at this time.
0 commit comments