From 971aa340e83be3443df4fe674043e968f28e6d40 Mon Sep 17 00:00:00 2001 From: wipeseals Date: Sat, 1 Feb 2025 23:38:33 +0900 Subject: [PATCH] fix: handle version formatting for SCMVersion with fewer than three components --- pdm_build.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pdm_build.py b/pdm_build.py index 3ad2682e4..041ebb8f7 100644 --- a/pdm_build.py +++ b/pdm_build.py @@ -5,7 +5,14 @@ def format_version(version: SCMVersion) -> str: - major, minor, patch = (int(n) for n in str(version.version).split(".")[:3]) + + # SCMVersion + # Note: There are cases where `Version('0.0')` is obtained when specified via git. + semver_tokens =list([int(n) for n in str(version.version).split(".")]) + if len(semver_tokens) < 3: + semver_tokens += [0] * (3 - len(semver_tokens)) + major, minor, patch = semver_tokens + dirty = f"+{datetime.utcnow():%Y%m%d.%H%M%S}" if version.dirty else "" if version.distance is None: return f"{major}.{minor}.{patch}{dirty}"