X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=launch_here.rb;h=aa0448879f47675abaa100a6a9e09f4b7668cd66;hb=619870dc4934ca1360d925a6671e61ed15a8f1a2;hp=033e075fd14729518811b2bbaf2d5c4d6fa0ad94;hpb=6f5528a63b44e610a3d25d7fe583399163d7d2da;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/launch_here.rb b/launch_here.rb index 033e075f..aa044887 100755 --- a/launch_here.rb +++ b/launch_here.rb @@ -3,18 +3,66 @@ # Load rbot from this directory. (No need to install it with setup.rb) # -SVN_DIR = File.expand_path(File.dirname('__FILE__')) -puts "Running from #{SVN_DIR}" +SCM_DIR = File.expand_path File.dirname(__FILE__) +puts "Running from #{SCM_DIR}" -$:.unshift File.join(SVN_DIR, 'lib') +$:.unshift File.join(SCM_DIR, 'lib') + +$version = '0.9.12-git' + +pwd = Dir.pwd +begin + Dir.chdir SCM_DIR + + if File.exists? '.git' + begin + git_out = `git status` + git_out.match(/^# On branch (.*)\n/) + if $1 # git 1.5.x + branch = $1.dup || "unknown" + changed = git_out.match(/^# Change(.*)\n/) + rev = "revision " + git_out = `git log -1 --pretty=format:"%h%n%b%n%ct"`.split("\n") + rev << git_out.first + $version_timestamp = git_out.last.to_i + rev << "(svn #{$1})" if git_out[1].match(/^git-svn-id: \S+@(\d+)/) + rev << ", local changes" if changed + else # older gits + git_out = `git branch` + git_out.match(/^\* (.*)\n/) + branch = $1.dup rescue "unknown" + rev = "revision " + `git rev-parse HEAD`[0,6] + end + rescue => e + puts e.inspect + branch = "unknown branch" + rev = "unknown revision" + end + $version << " (#{branch} branch, #{rev})" + elsif File.directory? File.join(up, '.svn') + rev = " (unknown revision)" + begin + svn_out = `svn info` + rev = " (revision #{$1}" if svn_out =~ /Last Changed Rev: (\d+)/ + svn_st = `svn st #{up}` + rev << ", local changes" if svn_st =~ /^[MDA] / + rev << ")" + rescue => e + puts e.inspect + end + $version += rev + end +ensure + Dir.chdir pwd +end module Irc class Bot module Config - @@datadir = File.join SVN_DIR, 'data/rbot' - @@coredir = File.join SVN_DIR, 'lib/rbot/core' + @@datadir = File.join SCM_DIR, 'data/rbot' + @@coredir = File.join SCM_DIR, 'lib/rbot/core' end end end -load File.join(SVN_DIR, 'bin/rbot') +load File.join(SCM_DIR, 'bin/rbot')