In message <CALkWK0=CsuAWQwk5Guf0pbC4_ZEoZiwQpamcRvBGz5LJ0QGKHg@xxxxxxxxxxxxxx>, Ramkumar Ramachandra writes: As a user inexperienced with recursive submodules (I've only used them in this repository), I found it highly confusing. Thanks for clearing them up. You may want to investigate third party alternatives like gitslave http://gitslave.sf.net Depending on what problem you are trying to solve, it can be better (or worse) to use compared to submodules. It provides a usually conceptually easier method to group subprojects together into a superproject. You can replace practically any git command you want with "gits" and it will usually work as you might more or less expect. Conceptually it has a list of git repositories and will execute the listed git command on each in turn. It seems to resolve most of the issues that you raise, but of course it has some warts of its own. Some could be resolved with sufficient effort, others are fundamental. (An example of the latter, you cannot trivially tell what commit in other repositories a particular user was at when he made a commit in a specific repository (absent a gits tag being created). An example of the former, if you have git output paging turned on and many subprojects to check out, `gits clone` pages the output and more to the point, blocks the clones until you page through the output which you must typically do many times). -Seth Robertson -- 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