gclient sync applies the revision argument
to git submodules, so git throws
fatal: remote error: upload-pack: not our ref
reproduce:
rev=981fe92ab998d655abded58f1f0ef2a8daeadd02
git init
git checkout FETCH_HEAD
#gclient sync --revision engine@$rev # good
gclient sync --revision src@$rev # bad
this is a user error, the revision argument should be
engine@${rev}
because "gclient config" creates .gconfig with
name = "engine"
but there is also a bug in "gclient sync":
the wrong revision spec is applied to *all* git submodules
so i get many error messages
fatal: remote error: upload-pack: not our ref 981fe92ab998d655abded58f1f0ef2a8daeadd02