title: In Git, how do I pull from a repository and get all the submodule changesets that are commited in that repository's submodule child repo's?
body: <p>I'm trying to use <a href="http://kernel.org/pub/software/scm/git/docs/git-submodule.html" rel="nofollow"><code>git submodules</code></a> with a topology like:</p>
  
  <pre><code>parent_repo
  `-- child_repo 
  </code></pre>
  
  <p>We're maintaining a trunk copy that we all push and pull from. ( I know a star topology is not necessary.  I realize you can pull from each other without reflecting through a central repository.)</p>
  
  <pre><code>trunk_child_repo &lt;--+
                      |
  trunk_parent_repo   |
  `-- child_repo -----+ # child_repo will pull from trunk_child_repo by default
  </code></pre>
  
  <p>Now we have multiple copies of <code>trunk_parent_repo</code> with fully-populated submodules.</p>
  
  <pre><code>trunk_parent_repo
  `-- child_repo
  
  ross_parent_repo
  `-- child_repo
  
  bob_parent_repo
  `-- child_repo
  
  joe_parent_repo
  `-- child_repo
  </code></pre>
  
  <p>I'm in the <code>ross_parent_repo</code> and I want to pull from <code>bob_parent_repo</code> and get all the edits that bob has done to the files in <code>bob_parent_repo</code> <em>as well as the edits he's committed to his submodule</em> <code>bob_parent_repo/child_repo</code>.  </p>
  
  <p>Unfortunately, when I do a <code>git pull --recurse-submodules bob_parent_repo</code>, it pulls from <code>bob_parent_repo</code> into <code>ross_parent_repo</code>, <em>but <code>trunk_child_repo</code> into <code>ross_parent_repo/child_repo</code></em>.</p>
  
  <p>Is it possible to have a nice, easy command to pull all the changesets that Bob has done in <code>bob_parent_repo</code> as well as all the changesets that he has done in all of his submodules?  Will I have to script it up and iterate through the submodules in the <code>.gitmodules</code> file?</p>