title: Git nested submodules and dependencies
body: <p>Let's say I have four projects named <strong>Core</strong>, <strong>A</strong>, <strong>B</strong>, <strong>Super</strong>. The dependency tree is like this:</p>
  
  <pre><code>Super ---&gt; Core
         |-&gt; A -&gt; Core
         |-&gt; B -&gt; Core
  </code></pre>
  
  <p>I want each project to be stand-alone, that is, I want to be able to check-out and compile each project on its own (each with its dependencies of course). </p>
  
  <p>I thought about mapping each project to a repository and then referring dependencies with submodules, but I see the following issues with that approach:</p>
  
  <ol>
  <li>When checking out <strong>Super</strong> with all its dependencies, I'd end up with three copies of <strong>Core</strong>.</li>
  <li>Since submodules are fully independent, each of these three copies could be pointing to different revisions of <strong>Core</strong> and that would be a mess.</li>
  </ol>
  
  <p>So... Am I missing something? Did I misunderstand git submodules or misusing them? Is there any other solution to this problem (other than resorting to binary dependencies)?</p>