aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2012-01-26 23:02:18 -0600
committerJack Nagel2012-01-26 23:02:18 -0600
commitd10f2afbacbdd0cbe58c0be7c6384e98c576059b (patch)
tree49159ad1c93b3921bf6bf53fd89aeddd999dc747
parentb695dfb18cd36b5d9e61a5f307609d739b6d9276 (diff)
downloadbrew-d10f2afbacbdd0cbe58c0be7c6384e98c576059b.tar.bz2
versions: silence 'aka' warning and syntax errors
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
-rw-r--r--Library/Homebrew/cmd/versions.rb12
1 files changed, 9 insertions, 3 deletions
diff --git a/Library/Homebrew/cmd/versions.rb b/Library/Homebrew/cmd/versions.rb
index 48496d99a..55703c811 100644
--- a/Library/Homebrew/cmd/versions.rb
+++ b/Library/Homebrew/cmd/versions.rb
@@ -63,15 +63,21 @@ class Formula
path = Pathname.new(Pathname.pwd+"#{name}.rb")
path.write text_from_sha(sha)
- # Unload the class so Formula#version returns the correct value.
+ # Determine the version by loading the old class file.
# Note that this means that the command will error out after it
# encounters a formula that won't import. This doesn't matter
# for most formulae, but e.g. Bash at revision aae084c9db has a
# syntax error and so `versions` isn't able to walk very far back
# through the history.
+
+ # Unload the class so Formula#version returns the correct value.
# FIXME shouldn't have to do this?
- Object.send(:remove_const, "#{Formula.class_s(name)}")
- Formula.factory(path).version
+ Object.send(:remove_const, Formula.class_s(name))
+ begin
+ nostdout { Formula.factory(path).version }
+ rescue SyntaxError
+ nil
+ end
end rescue nil
end
end