Build script is given the name of a branch to check out, before building the project.
However, thats about 1GB of data of which the project files represent less than 50Mb of that. I suspect it makes more sense only the subfolder containing the required 50Mb of data (I assume thats possible).
Alternatively, is the any reason not to be specifying a tag? The assumption until now was that it's the history data making the checkout take so long (20 minutes or so). Then I noticed today just how much data is being checked out and suspect that just checking out a tag alone is not going to make much difference.
I think the optimum way to go is a combination; check out only the required subfolder, at a given tag?
For what it's worth btw, it's an iOS/Xcode project, though I doubt that plays a role here.