]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
rbot: don't fail in git checkout if git can't be run
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Thu, 10 Apr 2008 16:59:54 +0000 (18:59 +0200)
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Thu, 10 Apr 2008 16:59:54 +0000 (18:59 +0200)
bin/rbot

index a5b7865af7f17101a1e89bf4f560a0c215b0b3a9..ed6b57f85c93181420764494057d49f3326fe18a 100755 (executable)
--- a/bin/rbot
+++ b/bin/rbot
@@ -68,24 +68,29 @@ $opts = Hash.new
 
 if $version =~ /git/
   if defined?(SCM_DIR) and File.exists?(File.join(SCM_DIR, '.git'))
-    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"`.split("\n")
-      rev << git_out.first
-      if git_out.last.match(/^git-svn-id: \S+@(\d+)/)
-        rev << "(svn #{$1})"
+    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"`.split("\n")
+        rev << git_out.first
+        if git_out.last.match(/^git-svn-id: \S+@(\d+)/)
+          rev << "(svn #{$1})"
+        end
+        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
-      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]
+    rescue => e
+      puts e.inspect
+      branch = "unknown branch"
+      rev = "unknown revision"
     end
 
     $version << " (#{branch} branch, #{rev})"