CocoaPods/CocoaPods — Issue #116: Allow specs to have a HEAD version
Author: lukeredpath
Created: 2012-02-10 01:21:25+00:00
State: open

We already have an easy way of using the HEAD of a repository as a dependency, by specifying the git URL but this depends on the project owner having put a podspec in the root of their repository.

As somebody who maintains a few pods now, I can see it getting annoying having to maintain changes the the podspec in your own repository as well as getting those changes mirrored back in the main specs repo (mildly inconvenient if you have push access, a hassle if you don't).

What if we allowed the use of 'HEAD' as a version, which would automatically use the HEAD of the repo, just as if we had specified the git URL, but without relying on the podspec being there? (it *would* require there to be a spec in the CocoaPods/Specs repo though, obviously).

This could work one of two ways:

1) The specs repo has to have a HEAD version for each Pod. These would obviously have to be maintained more regularly than fixed versions or:

2) CocoaPods just uses the most recent versioned spec, but ignores the :tag of the source spec and uses HEAD instead. This would work assuming the latest HEAD doesn't have new or changed requirements since the last version.

I prefer the latter, as I think maintaining HEAD versions of pod specs would be a headache. There would always be a caveat that things might break, but I think that is to be expected if you are trying to use the bleeding edge.

In cases where 2 doesn't work, users could just write an inline spec instead, but in a lot of cases I think this would save users some time.