title: SVN externals (or similar) with shared files within a single tree?
body: <p>So I have this dilemma I'm trying to solve. I am an indie game developer working on 6-7 client projects at any given time with the Unity game engine. The problem I'm experiencing is keeping my shared-code synced between the projects - my current solution is very "manual" and time consuming (and error prone when I forget to update everything). I started looking into SVN externals as a solution, but there's one problem. The Unity game engine uses *.meta files to maintain data for how the files in question are used within each game. </p>
  
  <p>As a quick example - here is a sample folder structure:</p>
  
  <p>Project 1:</p>
  
  <ul>
  <li>ROOT</li>
  <li>ROOT/Assets</li>
  <li>ROOT/Assets/SharedCode</li>
  <li>ROOT/Assets/SharedCode/SharedScript.cs</li>
  <li>ROOT/Assets/SharedCode/SharedScript.meta</li>
  </ul>
  
  <p>Project 2:</p>
  
  <ul>
  <li>ROOT</li>
  <li>ROOT/Assets</li>
  <li>ROOT/Assets/SharedCode</li>
  <li>ROOT/Assets/SharedCode/SharedScript.cs</li>
  <li>ROOT/Assets/SharedCode/SharedScript.meta</li>
  </ul>
  
  <p>The obvious/immediate solution is to just make my "SharedCode" folder an SVN external. The issue that arises is that the SharedScript.cs file should be identical on both projects, but the SharedScript.meta file is project specific and auto-generated by the game engine (so I can't say, store all my meta files in a single folder somewhere external to the "SharedCode" folder). </p>
  
  <p>There are hundreds of these files, so I'd love a solution that doesn't involve treating each "shared" file as an SVN external unto itself. </p>
  
  <p>My current ugly solution is to keep the whole project tree in SVN - and I have a sub-folder that is a GIT repo which ignores the .meta files. It's pretty ugly though, and I frequently commit/update the main project and forget to commit/push/pull the git "library" project. </p>
  
  <p>Any suggestions would be greatly appreciated!</p>