On 2025-09-05 14:19, brian m. carlson wrote:
Git doesn't follow SemVer. We make breaking and incompatible changes without bumping the major version all the time, so it doesn't make sense to say that we should follow SemVer for version numbers.
I meant the lexical format of semver, rather than its semantics, and the way that snapshot-version suffixes are separated in particular. The output of git-describe already aligns with the semver syntax so it seems reasonable to expect that `git version` of a snapshot build would follow the same syntax, which has become quite common, and for which parsers are ubiquitous. The change in 2006 (commit 5c7d3c9507f7) aimed to make versions monotonic for RPM packaging but the resulting format doesn't seem to conform to a known version string format, and not to today's RPM-packaging guidelines either looking at [1].
I would say that since Git has had this version number format for a long time, b4, which is much newer and should be designed to work with Git, should gracefully handle the Git version number rather than have Git conform to b4.
Is this really Git's version format, or just how git-version happens to print in snapshot builds? Is this format used or depended on anywhere else? I agree that b4 must follow what git-version outputs and I sent a patch for b4 [2] but each tool having to implement custom parsing for only the specifics of the git-version output (as opposed to git-describe which follows a common format) makes integration needlessly difficult. Regards, Jonas [1]: https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ [2]: https://lore.kernel.org/tools/20250905-versionparse-v1-1-48d926da9c10@xxxxxxxxxxxxxx