diff lib/redmine/version.rb @ 0:513646585e45

* Import Redmine trunk SVN rev 3859
author Chris Cannam
date Fri, 23 Jul 2010 15:52:44 +0100
parents
children 1d32c0a0efbf
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/redmine/version.rb	Fri Jul 23 15:52:44 2010 +0100
@@ -0,0 +1,43 @@
+require 'rexml/document'
+
+module Redmine
+  module VERSION #:nodoc:
+    MAJOR = 1
+    MINOR = 0
+    TINY  = 0
+    
+    # Branch values:
+    # * official release: nil
+    # * stable branch:    stable
+    # * trunk:            devel
+    BRANCH = 'devel'
+
+    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