summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-10-11 16:59:08 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-10-11 16:59:08 +0000
commit2ce184d1defaa3b96061b46fbcb905dfbce7d5f6 (patch)
tree079df66a1b3d611926a0b98ec596368e4de73418 /lib
parent3844e4bca84510b1614eaf90da565ce105881997 (diff)
downloadredmine-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.rb26
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