title: Can Git handles this use cases?
body: <p>I'm currently migrating from SVN to Git. The code base is a 10-15 modules large Maven project. We used to have a repo for each module.</p>
  
  <p>I wonder <em>what architecture should my Git repositories have to handle the following use cases</em> :</p>
  
  <ul>
  <li>A user can checkout 1..N module(s). </li>
  <li>John commits and pushes in module M. Emma pulls the change from the super-folder.</li>
  <li>John commits and pushes a change of module M from the super-folder. Emma pulls the change from the module folder.</li>
  <li>John moves (with git mv) file A from M1 to M2, commits and pushes. Emma edits file A update before committing. The file has moved with Emma's change.</li>
  </ul>
  
  <p>I thought to the 'single-repository' architecture but the UC#1 is not handled. The 'submodule', the '<a href="https://github.com/apenwarr/git-subtree/" rel="nofollow">subtree</a>' and the former 'one-module-one-repo' cannot handle the UC#4.</p>
  
  <p>Moreover, if most of the use cases are handled by the 'submodule' architecture, I would like to introduce as few complexity as possible. Submodule introduces concepts like detached-head and may induce painfull repair after more frequent errors.</p>
  
  <p>I did extensive search and I am not sure if it's possible without introducing too much complexity but I hope some of you must had found a workaround.</p>
  
  <p><em>Remark: Our current SVN architecture cannot handle this use cases.</em> </p>
  
  <p>Thanks a lot, Maxime.</p>