title: git & svn externals - a final solution yet?
body: <p>this is the workflow I currently use for my svn projects (I never use svn branches, and some projects are actively worked on by other people as well):</p>
  
  <ul>
  <li>on the server, do the inital <code>git svn fetch</code> which might take hours. Also create a 'build' branch.</li>
  <li>on a development machine cloning is now fast: <code>git clone srv://project.git, git checkout build</code> followed by <code>git update-refs ..., git svn fetch</code> to restore the link to the svn repository </li>
  <li>work, commit, work commit, ...</li>
  <li>to check if things are sane, <code>git push build</code> to the server and trigger a build in Hudson for that branch</li>
  <li>to store work so that I can work on it from another machine, also push build branch</li>
  <li>when satisfied, join commits together in logical steps (eg one for each bug), commit to svn and reset everything like <code>git checkout master, git merge build, git svn dcommit, git push, git checkout build, git rebase master, git push build</code></li>
  </ul>
  
  <p>Enter svn externals. I tried every script <a href="https://stackoverflow.com/questions/350651/how-do-i-keep-an-svnexternal-up-to-date-using-git-svn">here</a> already but all of them fail. My externals are setup like this:</p>
  
  <pre><code>/path/to/x x
  /path/to/y/z y/z
  /path/to/a/b.file a/b.file
  </code></pre>
  
  <p>and the scripts do things like trying to create <code>/path/to/x</code> in the root of the filesystem and <code>git svn fetch /path/to/x</code>. Also the single files seem to cause more problems. (subquestion 1: what is the svn:externals format these scripts were written for then?) </p>
  
  <p>It doesn't seem to hard modifying one of the scripts to handle my situation and replicate the directory structure I'm after correctly, but then I'm left with a major problem: if I change a file in both x and y/z directories, I don't see a way to join this into a single svn commit and that is one of the reasons I started using git in the first place.</p>
  
  <p>Hence the question: is there a way I can replicate the above workflow, using only parts of a certain svn repository, in such a way that I can do svn dcommit in the root? I'd prefer a ready-to-use solution that works both on linux and windows.</p>
  
  <p><strong>edit</strong> I quickly hacked through one of the scripts I found and made it replicating the directory structure of the svn externals. I cannot clone single files though, here's output:</p>
  
  <pre><code>git svn clone -r HEAD srv://svn/repo/path/to/projects.sln
  Initialized empty Git repository in xxx/projects.sln/.git/
  Invalid filesystem path syntax: REPORT request failed on '/svn/repo/!svn/vcc/default':
    Cannot replace a directory from within at yyy/git/libexec/git-core/git-svn line 5114
  </code></pre>
  
  <p>subquestion 2: is it not possible fetching a single file through git svn?</p>