From 0db62d57ca270e47d8ca10e7e20bebac25d391bb Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Tue, 21 Oct 2025 09:25:58 +0300 Subject: [PATCH] tools: fix parsing of `git version 2.51.1.dirty` (fix #25528) --- cmd/tools/vpm/vcs.v | 6 +++++- cmd/tools/vpm/vcs_test.v | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cmd/tools/vpm/vcs.v b/cmd/tools/vpm/vcs.v index e7187dde0..37af568b3 100644 --- a/cmd/tools/vpm/vcs.v +++ b/cmd/tools/vpm/vcs.v @@ -110,5 +110,9 @@ pub fn parse_git_version(version string) !string { if !version.starts_with(git_version_start) { return error('should start with `${git_version_start}`') } - return version.all_after(git_version_start).all_before(' ').all_before('.windows').trim_space() + suffixed := version.all_after(git_version_start).all_before(' ').trim_space() + parts := suffixed.split('.') + pure_version_parts := parts[0..3] + spure := pure_version_parts.join('.') + return spure } diff --git a/cmd/tools/vpm/vcs_test.v b/cmd/tools/vpm/vcs_test.v index 107d99b95..1d178c85b 100644 --- a/cmd/tools/vpm/vcs_test.v +++ b/cmd/tools/vpm/vcs_test.v @@ -7,4 +7,5 @@ fn test_parse_git_version() { assert parse_git_version('git version 2.44.0.windows.1')! == '2.44.0' assert parse_git_version('git version 2.34.0')! == '2.34.0' assert parse_git_version('git version 2.39.3 (Apple Git-146)')! == '2.39.3' + assert parse_git_version('git version 2.51.1.dirty')! == '2.51.1' } -- 2.39.5