From: "hasari (Hiro Asari)" Date: 2013-09-08T12:26:30+09:00 Subject: [ruby-core:57069] [ruby-trunk - Bug #8877][Open] OptionParser::Version should not rely on SVN Issue #8877 has been reported by hasari (Hiro Asari). ---------------------------------------- Bug #8877: OptionParser::Version should not rely on SVN https://bugs.ruby-lang.org/issues/8877 Author: hasari (Hiro Asari) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.1.0dev (2013-08-02 trunk 42320) [x86_64-darwin12.4.0] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN =begin Currently, (({OptionParser::Version})) is (()) by: RCSID = %w$Id$[1..-1].each {|s| s.freeze}.freeze Version = (RCSID[1].split('.').collect {|s| s.to_i}.extend(Comparable).freeze if RCSID[1]) This assumes that before this file is invoked, something preprocesses this file and rewrites (({$Id$})). This is not the case with (({git})). As a result, if you build from the git clone, you'd get irb(main):001:0> RUBY_DESCRIPTION => "ruby 2.1.0dev (2013-08-02 trunk 42320) [x86_64-darwin12.4.0]" irb(main):002:0> require 'optparse' => true irb(main):003:0> OptionParser::Version => nil While I understand the history of the development process and Ruby core's professed affinity for SVN, but this strikes me as a very bad idea. =end -- http://bugs.ruby-lang.org/