aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
AgeCommit message (Collapse)Author
2013-04-15Don't create MacOS.version multiple timesJack Nagel
2013-04-15Optimize Version#<=>Jack Nagel
2013-04-15Avoid expensive Pathname concatenationJack Nagel
2013-04-15Clean up remaining DownloadStrategy initializersJack Nagel
2013-04-14Avoid repeated interpolation here tooJack Nagel
2013-04-14Style nitJack Nagel
2013-04-14Performance fix for Pathname#prepend_prefixJack Nagel
See 05a456c231dc6da7cb0f7c70cb21feaf9a0d803c; same story.
2013-04-14Performance fix for Pathname#chop_basenameJack Nagel
This is an internal method, but is called a bunch of times in performance-critical codepaths, and is ultra slow because the constant is interpoplated into the Regexp each time the method is called. Alas, this has been fixed in Ruby 1.9+.
2013-04-14Avoid slow operations in FormulaPin#initializeJack Nagel
A FormulaPin object is created every time Formula is instantiated, so don't do filesystem operations or Pathname concatenation eagerly.
2013-04-14Don't use Pathname#/ in performance-critical codeJack Nagel
This method (well, really, #join) is *twice* as slow as simple concatenation, and shouldn't really be used at all in non-Formula code.
2013-04-14Optimization: avoid repeated interpolation in regexpJack Nagel
Benchmark.bm do |b| b.report("before") do 100_000.times { /(\.#{MacOS.cat}\.bottle\.(\d+\.)?tar\.gz)$/ } end b.report("after ") do 100_000.times { /(\.#{MacOS.cat}\.bottle\.(\d+\.)?tar\.gz)$/o } end end user system total real before 35.400000 0.140000 35.540000 ( 35.619674) after 0.020000 0.000000 0.020000 ( 0.016662)
2013-04-14Keg requires OpenStructJack Nagel
2013-04-14Only prune taps if taps exist.Adam Vandenberg
Closes Homebrew/homebrew#19192.
2013-04-13New visualization for brew deps --treeJaime Marquínez Ferrándiz
Closes Homebrew/homebrew#18835. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-04-13Remove extra requireJack Nagel
2013-04-13Use assert_operatorJack Nagel
2013-04-13Remove obsolete testsJack Nagel
This behavior is now tested at more appropriate levels in test_software_spec, test_formula_spec_selection, and test_formula_validation.
2013-04-13Make a specific assertion in this testJack Nagel
2013-04-13Raise a useful exception for incomplete formulaeJack Nagel
2013-04-13Add tests for formula spec selectionJack Nagel
These tests document the relative precedence of the stable, bottle, devel, and head specifications, and the conditions that can influence which is selected (e.g. command-line flags).
2013-04-13Allow "devel-only" formulaeJack Nagel
It seems only natural that this should be possible, or at the very least, it should not result in calling methods on nil.
2013-04-13Improved formula attribute validationJack Nagel
The initializer for Formula does a number of validations, but it does them in a weird order, and some attributes aren't validated under certain circumstances. This became even more of a mess when most software package attributes were moved into the SoftwareSpec class. This commit removes the last vestiges of storing these attributes as instance variables. In particular, it eliminates #set_instance_variable and #validate_variable, replacing them with methods that operate on SoftwareSpec instances, and generate more useful errors. Doing these validations unconditionally in the initializer means we bail out much earlier if the formula has invalid attributes or is not fully specified, and no longer need to validate in #prefix. Technically we don't need to validate in #brew either, but we continue to do so anyway as a safety measure, and because we cannot enforce calls to super in subclasses.
2013-04-13Run `tap --repair` as part of `prune`Jack Nagel
And by extension, `cleanup`. Fixes Homebrew/homebrew#18658.
2013-04-13Clean up checksum verification testsJack Nagel
2013-04-12doctor: 'raring' => 'ready'Jack Nagel
It was pointed out that 'raring' is a rare word can be confusing to non-native speakers. Closes Homebrew/homebrew#18659, see that for details.
2013-04-12doctor: consolidate directory access checksJack Nagel
Also include a writability check for lib. Closes Homebrew/homebrew#18571.
2013-04-11versions: work for tapped formulaeJiang Xin
brew versions is hardcoded to cd to HOMEBREW_REPOSITORY before running git, and as such fails to report previous versions for any formulae from a tapped repository. Add two new private methods repository and entry_name to replace the hardcoded HOMEBREW_REPOSITORY and formula path, and brew versions work for both builtin and tapped formulae. Closes Homebrew/homebrew#12356. Closes Homebrew/homebrew#19069. Reported-by: Misty De Meo <mistydemeo@gmail.com> Suggested-by: Jack Nagel <jacknagel@gmail.com> Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-04-11doctor: suggest `brew update` in outdated warningGeoff Petrie
Closes Homebrew/homebrew#19106. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-04-10Eliminate test_bucketJack Nagel
Most of the behavior tested here is now tested elsewhere. Move the remaining useful tests to better places.
2013-04-10More comprehensive tests for Pathname extensionJack Nagel
2013-04-10link: eliminate naked rescueJack Nagel
2013-04-10Make test formulae initializers more flexibleJack Nagel
2013-04-10Move formula equality tests out of test_bucketJack Nagel
2013-04-10Remove last use of deprecated Formula#recursive_depsJack Nagel
Fixes Homebrew/homebrew#19107.
2013-04-09Check existence rather than rescue exceptionsJack Nagel
2013-04-09Simplify these testsJack Nagel
2013-04-08SubversionDownloadStrategy: *really* fix pathname concatenationJack Nagel
2013-04-08SubversionDownloadStrategy: fix pathname concatenationJack Nagel
Fixes Homebrew/homebrew#19066.
2013-04-08Clean up mirror support testJack Nagel
2013-04-08Fix argument order in test_comparablesetJack Nagel
2013-04-08Fix specs in TestBallJack Nagel
2013-04-08Tests for SoftwareSpec and subclassesJack Nagel
2013-04-08Ensure ARGV is cleaned upJack Nagel
2013-04-08Remove dead codeJack Nagel
This is initialized in #initialize.
2013-04-07Clean up some things in test_bucketJack Nagel
2013-04-07Simplify testsJack Nagel
2013-04-07Define RUBY_PATH for testsJack Nagel
2013-04-07test_patching: inline test classesJack Nagel
2013-04-07Isolate ARGV extension testsJack Nagel
2013-04-07Delete pointless testJack Nagel