[ruby-core:124070] [Ruby Misc#21769] Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git
Issue #21769 has been reported by k0kubun (Takashi Kokubun). ---------------------------------------- Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git https://bugs.ruby-lang.org/issues/21769 * Author: k0kubun (Takashi Kokubun) * Status: Open ---------------------------------------- ## 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 release manager, 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. * > 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 ‘_’. -- https://bugs.ruby-lang.org/
Issue #21769 has been updated by jeremyevans0 (Jeremy Evans). 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-conve..., `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`. ---------------------------------------- Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git https://bugs.ruby-lang.org/issues/21769#change-115509 * Author: k0kubun (Takashi Kokubun) * Status: Open ---------------------------------------- ## 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. * > 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 ‘_’. -- https://bugs.ruby-lang.org/
Issue #21769 has been updated by k0kubun (Takashi Kokubun). 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](https://github.com/ruby/ruby/blob/007a70a15c2911845f83872b83d39eeca7f0f607/l...)), so I just didn't have a problem with the `v` prefix. ---------------------------------------- Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git https://bugs.ruby-lang.org/issues/21769#change-115513 * Author: k0kubun (Takashi Kokubun) * Status: Open ---------------------------------------- ## 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. * > 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 ‘_’. -- https://bugs.ruby-lang.org/
Issue #21769 has been updated by k0kubun (Takashi Kokubun). 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 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. ---------------------------------------- Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git https://bugs.ruby-lang.org/issues/21769#change-115604 * Author: k0kubun (Takashi Kokubun) * Status: Assigned * Assignee: k0kubun (Takashi Kokubun) ---------------------------------------- ## 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. * > 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 ‘_’. -- https://bugs.ruby-lang.org/
Issue #21769 has been updated by k0kubun (Takashi Kokubun). 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. ---------------------------------------- Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git https://bugs.ruby-lang.org/issues/21769#change-115618 * Author: k0kubun (Takashi Kokubun) * Status: Closed * Assignee: k0kubun (Takashi Kokubun) ---------------------------------------- ## 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. * > 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 ‘_’. -- https://bugs.ruby-lang.org/
Issue #21769 has been updated by k0kubun (Takashi Kokubun). Here's the list of all changes I made for this ticket: * `tool/merger.rb tag` * https://github.com/ruby/ruby/commit/0564214a00450371527c7bd69fc13618e5f25f30 * `tool/merger.rb remove_tag` * https://github.com/ruby/ruby/commit/aff0c6dad2486e939e7f6678c519314925dad866 * `tool/format-release` * https://github.com/ruby/ruby/commit/a973526c050fec044ffd7ceeba0ac8e8a1fed299 * `tool/releng/update-www-meta.rb` * https://github.com/ruby/ruby/commit/12bf3a99d72f5f6f0a7633863e285029aa407c57 * `tool/make-snapshot` * https://github.com/ruby/ruby/commit/1f0ca55750413603057fabef39550feb9e7fc3c8 * `.github/workflows/draft-release.yml` * https://github.com/ruby/actions/commit/b5d6f8d5d31d3550ed223305a64dd4b8bfb9e... ---------------------------------------- Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git https://bugs.ruby-lang.org/issues/21769#change-115624 * Author: k0kubun (Takashi Kokubun) * Status: Closed * Assignee: k0kubun (Takashi Kokubun) ---------------------------------------- ## 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. * > 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 ‘_’. -- https://bugs.ruby-lang.org/
participants (2)
-
jeremyevans0 (Jeremy Evans) -
k0kubun (Takashi Kokubun)