title: Can't clone Mercurial subrepo from main repo, fails with 'unknown revision'?
body: <p>I have a Windows file structure like so:</p>
  
  <pre><code>Stable
      ProjectA
      SharedLibrary
  </code></pre>
  
  <p><code>Stable</code> contains the main repo.  <code>ProjectA</code> and <code>SharedLibrary</code> are subrepos of <code>Stable</code>.  The <code>.hgsub</code> file contains:</p>
  
  <pre><code>ProjectA = ProjectA
  SharedLibrary = SharedLibrary
  </code></pre>
  
  <p>Everything seems to work correctly for the most part. The main repo will recognize the subrepos, and I can do things like <code>hg status -S</code> on the main repo and it will recurse through the subrepos.  <code>commit</code> also seems to work correctly.</p>
  
  <p>When I try to <code>clone</code> from <code>Stable</code> (main repo), it fails when attempting to clone the <code>ProjectA</code> subrepo with the following message:</p>
  
  <pre><code>unknown revision 'a855f4fe17c393d5863409f1443fc93b36787fa9'
  [command returned code 255 Mon Mar 12 09:25:47 2012]
  </code></pre>
  
  <p>However, I have verified that the revision is correct and present in the <code>ProjectA</code> subrepo.  I can <code>clone</code> each subrepo without any problems.</p>
  
  <p>So far I have tried:
  1) Deleting each repository and starting over.
  2) Re-installing TortoiseHg/Mercurial.
  3) Making sure the revision listed in .hgsubstate is correct and present in each subrepo.</p>
  
  <p>Any way to fix this?</p>
  
  <p>EDIT:
  When the <code>clone</code> of the <code>Stable</code> (main) repo fails, it leaves the target directory with a clone of <code>Stable</code> without any subrepos.  I can go to the cloned <code>Stable</code>, do an <code>hg update tip</code>, and it will successfully clone the <code>ProjectA</code> subrepo but fail to clone <code>SharedLibrary</code> with the same 'unknown revision' error.  I can then run <code>hg update tip</code> again, and it will successfully clone the <code>SharedLibrary</code> subrepo.  At that point everything is correct as it would be if the clone had worked correctly in the first place.</p>
  
  <p>EDIT 2:  Contents of <code>.hgsubstate</code>:</p>
  
  <pre><code>a855f4fe17c393d5863409f1443fc93b36787fa9 ProjectAd72ef29a5656e5413322c1d20d5830448d558605 SharedLibrary
  </code></pre>
  
  <p>There is no space between <code>ProjectA</code> and the changeset id for <code>SharedLibrary</code>, but I guess that is just the way Mercurial does it.  Both changesets in <code>.hgsubstate</code> are present in the respsective subrepo.</p>
  
  <p>EDIT 3:  <code>hg log --debug -r tip</code> from <code>ProjectA</code> subrepo. showing correct changeset is present</p>
  
  <pre><code>Z:\Programming\KSuite\Stable\Client\KClient&gt;hg log --debug -r tip
  changeset:   4:a855f4fe17c393d5863409f1443fc93b36787fa9
  tag:         tip
  parent:      3:eb01e88027c893267422fcb67f035ba31d8cdbdc
  parent:      2:5b5ffd7f96915ca792507820ccfbee35707148d0
  manifest:    4:e90960833c0708ec7f99ccded11c46ca45b46542
  user:        Casey ******** &lt;*redacted*@.com&gt;
  date:        Fri Mar 09 18:22:50 2012 -0500
  files:       .hgignore
  files-:      KClient.suo
  extra:       branch=default
  description:
  Merging changes in Stable to Dev.
  </code></pre>