Interesting -- it looks like since git 1.8.2 it's possible to track a branch. I'm still using 1.7.x so I can't experiment with this but we'll talk about it internally. I suspect we'll stay with traditional submodule tracking by hash, however -- we're doing an increasing amount of CI work (e.g. using Travis) and that depends on clear versioning between modules and submodules.