title: Using the Mercurial hgsubversion extension with SVN Externals
body: <p>I'm using Mercurial to talk to a Subversion repository, and the repository is currently using SVN externals to pull in another repository.</p>
  
  <p><code>hgsubversion</code> works really well for communicating with the repository, but it doesn't seem to work with SVN Externals.  Is there a way to configure it to work with this?</p>
  
  <p><strong>EDIT:</strong> Partial Solution</p>
  
  <p>SVN Externals can be pulled down just fine.  In your repository, add a new file called <code>.hgsvnexternals</code> (if Windows is complaining about not having a file name when you create it, try running <code>copy .hgignore .hgsvnexternals</code>).  It is finicky about whitespace, and should contain text like the following sample:</p>
  
  <pre><code>[.]
   MyExternalProject svn://some.url/svn/MyExternalProject/trunk
  </code></pre>
  
  <p>There's a space at the beginning of the line, and between the name and the URL. If the spacing isn't right, nothing works. After adding this to the file, go back to the command line and run:</p>
  
  <pre><code>hg svn updateexternals
  </code></pre>
  
  <p>It should then fetch the external from Subversion.  The new problem is that <code>hg status</code> will now show all of the "new" files with <code>?</code> in front of them.</p>
  
  <p><strong>Q:</strong>  Do you <code>hg add</code> them to the repository, or add the external files to <code>.hgignore</code>?</p>
  
  <p>Trying either option leads to the same problem.  I can't <code>hg push</code> my changes to the clone's master.</p>