Why are git submodules incompatible with svn externals?

The fundamental difference is the composition rule. In a true component-based approach, you define a configuration, that is: The list of labels (of SHA1 commits for Git) you need for your project to “work” (i.e. “develop”, “compile”, “deploy”, …). Each commit referenced in a configuration helps you to get the exact versions of all trees. … Read more