Project

General

Profile

Actions

Misc #21769

closed

Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git

Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git

Added by k0kubun (Takashi Kokubun) 4 days ago. Updated 1 day ago.


Description

Proposal

  • Use vX.Y.Z (e.g. v4.0.0) instead of vX_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-rc1 instead of v4_0_0_rc1

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_Z because CVS didn't allow the use of . in tag names. We no longer need the workaround for Git.

Related issues 1 (0 open1 closed)

Related to Ruby - Misc #21774: [ANN] Rename the `v4_0_0_preview2` git tag to `v4.0.0-preview2`Closedk0kubun (Takashi Kokubun)Actions

Updated by k0kubun (Takashi Kokubun) 4 days ago Actions #1

  • Description updated (diff)

Updated by jeremyevans0 (Jeremy Evans) 4 days ago Actions #2 [ruby-core:124072]

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) 4 days ago Actions #3 [ruby-core:124076]

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.

Updated by k0kubun (Takashi Kokubun) 1 day ago Actions #4 [ruby-core:124148]

  • Status changed from Open to Assigned
  • Assignee set to k0kubun (Takashi Kokubun)

From the (draft) meeting notes:

Conclusion:

  • matz: v4.0.0 accepted.
  • hsbt: previous v4_0_0_preview2 should be renamed to: v4.0.0-preview2.

I'll modify ruby-master/tool/merger.rb tag to use the v4.0.0 format for Ruby 4.0+. I'll also file another ticket to announce the v4.0.0-preview2 tag rename.

To close the loop on the vX.Y.Z vs X.Y.Z discussion, @mame (Yusuke Endoh) didn't like X.Y.Z and we agreed on vX.Y.Z because all future X.Y.Z tags would show up after vX_Y_Z tags under GitHub's "Switch branches/tags" UI.

Updated by k0kubun (Takashi Kokubun) 1 day ago Actions #5

  • Related to Misc #21774: [ANN] Rename the `v4_0_0_preview2` git tag to `v4.0.0-preview2` added

Updated by k0kubun (Takashi Kokubun) 1 day ago Actions #6 [ruby-core:124159]

  • Status changed from Assigned to Closed

Updated tool/merge.rb tag and tool/format-release to support the new git tag format at https://github.com/ruby/ruby/pull/15508.

Actions

Also available in: PDF Atom