Chris@1494: require 'rexml/document' Chris@1494: Chris@1494: module Redmine Chris@1494: module VERSION #:nodoc: Chris@1494: MAJOR = 2 Chris@1494: MINOR = 4 Chris@1494: TINY = 4 Chris@1494: Chris@1494: # Branch values: Chris@1494: # * official release: nil Chris@1494: # * stable branch: stable Chris@1494: # * trunk: devel Chris@1494: BRANCH = 'stable' Chris@1494: Chris@1494: # Retrieves the revision from the working copy Chris@1494: def self.revision Chris@1494: if File.directory?(File.join(Rails.root, '.svn')) Chris@1494: begin Chris@1494: path = Redmine::Scm::Adapters::AbstractAdapter.shell_quote(Rails.root.to_s) Chris@1494: if `svn info --xml #{path}` =~ /revision="(\d+)"/ Chris@1494: return $1.to_i Chris@1494: end Chris@1494: rescue Chris@1494: # Could not find the current revision Chris@1494: end Chris@1494: end Chris@1494: nil Chris@1494: end Chris@1494: Chris@1494: REVISION = self.revision Chris@1494: ARRAY = [MAJOR, MINOR, TINY, BRANCH, REVISION].compact Chris@1494: STRING = ARRAY.join('.') Chris@1494: Chris@1494: def self.to_a; ARRAY end Chris@1494: def self.to_s; STRING end Chris@1494: end Chris@1494: end