Xcode dependency management particular branch

I'm trying to use Xcode source control dependency managment as demonstrated in the 2013 WWDC video titled Understanding Source Control in Xcode (Session 414). Specifically, minutes 14:45 – 19:00 with Kevin Lindeman (sounds like Peter Overby on NPR).


When using Subversion externals or Git submodules for dependency management, you can specify particular revisions (svn) or commits (git) that a dependency should be at. However, when opening a new Xcode workspace, and the "Check out additional working copies?" dialog appears, the user is given a choice of branches to checkout.


How do I specify to Xcode what particular branch a project's dependency should use?


Example scenario: Workspace Utensils has project Spatula which depends upon project Metallurgy. I'm working on Spatula with Metallurgy on branch "feature_iron" and all my updates (including xccheckout files) are pushed to remote repos. A coworker uses Xcode to checkout Utensils from remote repos, and consequently Xcode offers to check out Metallurgy also. How can Xcode be configured to automatically checkout the "feature_iron" branch of Metallurgy instead of presenting a choice of branches to my coworker?


If this is not possible, then what is the suggested workflow for this typical situation? Is the solution simply that I have inform the coworker?


Also, I noticed that only branches are presented, not tags. This means it is impossible to form a link between a project's HEAD and a particular commit of a dependency.


It has been 2 years since Apple has been encouraging us to use Xcode source control features, but it seems like it is lacking full dependency management features to make that a reality. Or am I missing some simpler workflow that Apple is hinting at?

Xcode dependency management particular branch
 
 
Q