* Instantiate DownloadStrategy instance when creating a formula.
* Rename CurlDownloadStrategy member to clarify what it is for.
* Generate downloaded tarball name in initialize.
I held off on this as I wasn't sure it made sense. Eg. if you install you'd expect it to install the same version as before? But with HEAD formula you always want the newest, that's the point. Otherwise it should be tagged/revisioned.
When cloning a mercurial repository from a tagged revision, that tag definition
isn't actually included. This causes `hg archive -r tag_name` to fail.
Instead, just clone the repository's head and the `hg archive -r revision` will
handle getting the correct revision to for the build
GitDownloadStrategy and MercurialDownloadStrategy
now can be used like this:
head 'git://server/repo.git', :branch => 'stable'
head 'hg://server/repo/', :tag => '1.0.4'
Otherwise you run the risk of not running the exact version / make of the utility you planned.
FixesHomebrew/homebrew#48
Really we need to do this formula too, so I guess a make and cmake function are on the way…
I removed the rename and mv functions as when I wrote the tests I realised the function implied the pathname object would be updated to reflect the moved or renamed file. However that cannot be done. Also frankly I think writing it out in full makes clearer code.
Because formula don't get named unless the brew kit instantiates them accessory formula were getting named "__UNKNOWN__". Which sucks.
This isn't ideal for me as I made the naming use @name and @version to ensure unique naming. Now it is possible to have name clashes in the cache. So I need to solve it better at some point.