view lib/redmine/.svn/text-base/version.rb.svn-base @ 922:ad295b270cd4 live

FIx #446: "non-utf8 paths in repositories blow up repo viewer and reposman" by ensuring the iconv conversion always happens even if source and dest are intended to be the same encoding
author Chris Cannam
date Tue, 13 Mar 2012 16:33:49 +0000
parents 851510f1b535
children
line wrap: on
line source
require 'rexml/document'

module Redmine
  module VERSION #:nodoc:
    MAJOR = 1
    MINOR = 2
    TINY  = 1

    # Branch values:
    # * official release: nil
    # * stable branch:    stable
    # * trunk:            devel
    BRANCH = 'stable'

    def self.revision
      revision = nil
      entries_path = "#{RAILS_ROOT}/.svn/entries"
      if File.readable?(entries_path)
        begin
          f = File.open(entries_path, 'r')
          entries = f.read
          f.close
          if entries.match(%r{^\d+})
            revision = $1.to_i if entries.match(%r{^\d+\s+dir\s+(\d+)\s})
          else
            xml = REXML::Document.new(entries)
            revision =
              xml.elements['wc-entries'].elements[1].attributes['revision'].to_i
          end
        rescue
          # Could not find the current revision
        end
      end
      revision
    end

    REVISION = self.revision
    ARRAY    = [MAJOR, MINOR, TINY, BRANCH, REVISION].compact
    STRING   = ARRAY.join('.')
    
    def self.to_a; ARRAY  end
    def self.to_s; STRING end    
  end
end