We faced strange behavior of teamcity with git submodules. Generally the build is ok and all changes are pulled correct.
But in case when latest repository version of submodule is newer than used in base project on press "Run" without selecting specific commit, teamcity gets latest changes both for base project and for submodule. What is not correct while base project has older commit of submodule.
Also changes of submodule listed in changes of teamcity configuration:
Is it possible to include in checkout only base project commits?
P.S. If I pick from this menu latest base project commit teamcity will correctly resolve all dependencies.