I'm currently facing the same issue. Did you find a solution to this?
I tried the following:
gclient config --unmanaged
http://path/to/project@branchgclient config --unmanaged --name project
http://path/to/project@branch The first way complained saying "Please fix your script, having invalid --revision flags will soon considered an erro" (on 'gclient sync') but seemed to wor except that the checkout directory was "project@branch" instead of just "project" as I would expect.
The second way caused me to check out a detached HEAD in the wrong branch, and none of the DEPS were synchronized.
My next step is to try creating a custom spec file to pass into the command line, but I need to figure out the correct format to use.