I noticed the following behaviour when pulling a repository that has a submodule. I have a standalone checkout of my subproject, which I regulary sync it with its upstream and push the result to github. Then I go to my project where the github repository is setup to be a subproject, 'cd' into the subproject and do 'git pull' there. After that, I commit the subproject blob into the superproject. Now i switch OS and/or workstation and do a 'git pull' ( in root directory of superproject ). Git then -> fetches new objects of superproject -> fetches new objects of subproject -> checks out the subproject to the SHA1 currently recorded in the subproject blob. (Am i right on this one?) -> merges superproject with it's upstream After that, i have to cd into the subproject and 'git pull' there again, because it just fetched the objects but did no merge nor checkout. Is this intentional behaviour or am i doing something wrong / have wrong expectations in that "after seeing it recurring into the subproject, i expect i don't need to do further steps in order to have it up to date"? SaCu PS I'm using a mix of git Versions 1.7.{6,8,10} -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html