3 # Load rbot from this directory. (No need to install it with setup.rb)
6 SCM_DIR = File.expand_path File.dirname(__FILE__)
7 puts "Running from #{SCM_DIR}"
9 $:.unshift File.join(SCM_DIR, 'lib')
11 $version = '0.9.15-git'
17 if File.exists? '.git'
19 git_out = `git status`
20 git_out.match(/^# On branch (.*)\n/)
22 branch = $1.dup || "unknown"
23 changed = git_out.match(/^# Change(.*)\n/)
25 git_out = `git log -1 --pretty=format:"%h%n%s%n%ct"`.split("\n")
27 subject = git_out[1].strip
28 subject[77,subject.length] = "..." if subject.length > 80
29 rev << " [#{subject}]" unless subject.empty?
30 $version_timestamp = git_out.last.to_i
31 rev << ", local changes" if changed
33 git_out = `git branch`
34 git_out.match(/^\* (.*)\n/)
35 branch = $1.dup rescue "unknown"
36 rev = "revision " + `git rev-parse HEAD`[0,6]
40 branch = "unknown branch"
41 rev = "unknown revision"
43 $version << " (#{branch} branch, #{rev})"
44 elsif File.directory? File.join(SCM_DIR, '.svn')
45 rev = " (unknown revision)"
48 rev = " (revision #{$1}" if svn_out =~ /Last Changed Rev: (\d+)/
49 svn_st = `svn st #{SCM_DIR}`
50 rev << ", local changes" if svn_st =~ /^[MDA] /
64 @@datadir = File.join SCM_DIR, 'data/rbot'
65 @@coredir = File.join SCM_DIR, 'lib/rbot/core'
70 load File.join(SCM_DIR, 'bin/rbot')