diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-10-11 16:59:08 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-10-11 16:59:08 +0000 |
commit | 2ce184d1defaa3b96061b46fbcb905dfbce7d5f6 (patch) | |
tree | 079df66a1b3d611926a0b98ec596368e4de73418 /lib | |
parent | 3844e4bca84510b1614eaf90da565ce105881997 (diff) | |
download | redmine-2ce184d1defaa3b96061b46fbcb905dfbce7d5f6.tar.gz redmine-2ce184d1defaa3b96061b46fbcb905dfbce7d5f6.zip |
Added revision number in Redmine::VERSION (the revision number is read from .svn/entries if it exists).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@824 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib')
-rw-r--r-- | lib/redmine/version.rb | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/lib/redmine/version.rb b/lib/redmine/version.rb index 5934af03e..85b7217b7 100644 --- a/lib/redmine/version.rb +++ b/lib/redmine/version.rb @@ -1,10 +1,34 @@ +require 'rexml/document' + module Redmine module VERSION #:nodoc: MAJOR = 0 MINOR = 5 TINY = 1 - STRING= [MAJOR, MINOR, TINY].join('.') + 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 + STRING = [MAJOR, MINOR, TINY, REVISION].compact.join('.') def self.to_s; STRING end end |