I found that I use submodules much, much more often in my git projects than I used externals in Subversion and the reason is that git encourages/forces to organize large projects into smaller repositories, one reason for this being that subversion allows to check out parts of a repository while git does not. But when I clone a git repository with subprojects, I (and everyone else) has to remember to add the --recursive option. When switching between branches with different versions/commits of the submodules everyone has to remember to update the submodules. When updating a submodule everyone has to remember to recurse there too. Basically, everything with submodules has to be done manually every time and there seems to be no way to change that default. Why is that? Basically all the time I use submodules I would want automatic handling of submodules to happen and I cannot remember having had a single situation where I would not have wanted it to happen. So why does git default to doing nothing? Why does it not provide a way to enable automatic pulling/updating of submodules e.g. when cloning or switching branches? When would people routinely check out a branch and want to stay with the submodules as the have been checked out for the old branch? I honestly do not understand it. John ____________________________________________________________ Can't remember your password? Do you need a strong and secure password? Use Password manager! It stores your passwords & protects your account. Check it out at http://mysecurelogon.com/manager -- 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