tags (Multiruby)

    # File lib/multiruby.rb, line 328
      def self.tags
        tags = nil
        Multiruby.in_tmp_dir do
          cache = "svn.tag.cache"
          File.unlink cache if Time.now - File.mtime(cache) > 3600 rescue nil

          File.open cache, "w" do |f|
            f.write `svn ls #{MRI_SVN}/tags/`
          end unless File.exist? cache

          tags = File.read(cache).split(/\n/).grep(/^v/).reject {|s| s =~ /preview/}
        end

        tags = tags.sort_by { |s| s.scan(/\d+/).map { |s| s.to_i } }
      end