You can use subversion keywords:
Essentially, you could have a helper method...
def app_version
"$Id$"
end
$Id$
is a keyword which svn will expand (the link above has others you could use). Now, we set the keywords property on that file to let svn know that it should be replacing keywords (let's assume application_helper.rb):
svn propset svn:keywords "Id" application_helper.rb
svn ci application_helper.rb
Now if you look at application_helper.rb it'll read (something like this, with the version, date, user name changed)
def app_version
"$Id: application_helper.rb 282 2009-06-26 10:34:17Z root $"
end
Obviously, you could assign this to a variable and parse it to the required format, included it in your view templates etc. Or do the same thing but instead of application_helper.rb, just use a file called VERSION
in your root dir.