OK.... so I do a Git pull at the top level (note: using TortoiseGit), and I see lots of messages in the log indicating which libraries have updates, and judging by the time taken they seem to be downloaded (?), but I don't actually see any changes in the libraries themselves. BTW I have every library set explicitly to either "develop" or "master". If I do a "git pull" on an individual library then the changes do come through OK. So what's the right way to do this? I assume it's not a "submodule update" as that seems to leave everything in a detached head state which I take it is a bad idea? I'm also seeing a lot of negative comments about Git submodules on the web, for example: http://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt..., seems like there's a lot of potential to shoot yourself in the foot/head/chest here? Thanks, John.