title: What directory structure makes sense for DVCS such as git?
body: <h2>What I am used to:</h2>
  
  <ul><li>Archives on the servers (NY, IN, NC)</li>
  <li>On my development machine:
  <ul><li>A directory named ~/work</li>
  <li>Subdirectories named ~/work/NY/devproject, ~/work/NC/project etc</li>
  <li>Not infrequently, subdirectories named ~/work/NY/release/1.3/project, ~/work/NY/test/1.3b/project etc</li><li>Sometimes directories named ~/proxy/NY, ~/proxy/NC etc which contain a disposable local cache of the archives in order to reduce network traffic for reads.  These directories can be deleted at any time.</ul><li>A scratch build that deletes ~/work/... and repopulates it from the archives</ul>
  
  <hr>
  
  <h2>But with DVCS that doesn't make sense</h2>
  
  <ul><li>The archives are on my development machine, but a near-clone is on a remote machine for backup reasons.</li><li>Doing a scratch build would mean deleting and re-pulling the whole archive, which seems costly.</li><li>It looks like I have directories named ~/git/git.git/git which is a lot of gits.</li></ul>
  
  <p>Do people do all their development in ~/git?  If you need to work with dev, test, release, and one-off-for-big-client versions, are these under ~/git, or can they be elsewhere in their own trees?  Where do third-party components go?  Is this too big for SO (do I need to read a book), or can it be answered with an ASCII tree diagram?</p>