@Matt glad it helped :)@kain clone is the default way of checking out a repository instance but submodule does a fairly similar thing. I guess I thought that too obvious to mention what clone does and just concentrate on the differences. Sorry about that, does it make more sense now?

@Anonymous yes that’s correct – cd into the submodule’s directory and do a git pull. You’ll then need to cd into your main repo’s directory, add your changes using git add, commit and push.When someone else pulls next, they can run git submodule update which will update their submodules to the version you just pulled.If you had added a new submodule, the other person would need to run git submodule init again before git submodule update.

git submodules are handy. So is git-svn. Can the two play nice or do you need an intermediategit-svn repository?i.e. I'm running a git project A. I want to track an external project, a django plugin say, as a submodule of A. But that external project uses svn repo X. Do I need to make a git repo B that tracks X with git-svn, then track B as a submodule of A, or can I track X in A without an explicit repo B ?