Misc #21769
openUse "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git
Description
Proposal¶
- Use
vX.Y.Z(e.g.v4.0.0) instead ofvX_Y_Z(e.g.v4_0_0) as git tag names from Ruby 4.0.0- Also use
-for preview/rc releases, e.g.v4.0.0-rc1instead ofv4_0_0_rc1
- Also use
Motivation¶
- Inconsistent version formats and the need of conversion make the release workflow implementation a little complicated and hard to read.
- As a stable branch maintainer, I don't want to spend time figuring out which version format is right for each CLI.
Background¶
- Release tarball URLs already follow the proposed format (without
v), e.g.ruby-4.0.0-preview2.tar.gz. - Historically, we used
vX_Y_Zbecause CVS didn't allow the use of.in tag names. We no longer need the workaround for Git.-
https://www.gnu.org/software/trans-coord/manual/cvs/html_node/Tags.html
Tag names must start with an uppercase or lowercase letter and can contain uppercase and lowercase letters, digits, ‘-’, and ‘_’.
-
Updated by k0kubun (Takashi Kokubun) about 9 hours ago
- Description updated (diff)
Updated by jeremyevans0 (Jeremy Evans) about 9 hours ago
Is there a reason to prefer vX.Y.Z over X.Y.Z? The v tag prefix does seem more popular, though both are widely used. The historical reason for using _ in tags also applies to the reason the v prefix is used. If we are switching from _ to ., it seems reasonable to drop the unnecessary v prefix at the same time.
According to https://stackoverflow.com/questions/2006265/is-there-a-standard-naming-convention-for-git-tags, vX.Y.Z was recommended in Version 1.0.0 of Semantic Versioning, but it is no longer recommended. The page has a good discussion of the pros and cons of the two approaches.
That being said, I'm in favor of the change from _ to ., either vX.Y.Z or X.Y.Z.
Updated by k0kubun (Takashi Kokubun) about 8 hours ago
I'm fine whether it's vX.Y.Z or X.Y.Z too. I'm personally used to vX.Y.Z used by rake release (ref), so I just didn't have a problem with the v prefix.