title: What is "Source Tree" in the Xcode preferences and what can I do with it?
body: <p>I've been recently researching how I can manage source files in a project or multiple projects. I've read that Xcode has a built-in support for using svn, and will support git as well, both of which I found to be very useful.</p>
  
  <p>The one thing I couldn't understand clearly is about Source Trees described in Xcode Project Management Guide. Here is my theory, but as I couldn't really verify this from anywhere (as far as I could tell), I would really like if someone could say what I'm missing, if any.</p>
  
  <ul>
  <li>A Source Tree in Xcode preferences is more like <code>a root</code> of a source tree, which is a folder in my local file system.</li>
  <li>I can use any files in any of my Xcode projects, even if the files are not in the project folders, if I can specify the files' location related to one of my source trees.</li>
  <li>Now someone has the same project folder that is synchronized with mine. She has all files in the project folder, but the files referenced by a relative location to the source tree may exist out of the project folder.</li>
  <li>But she has a source tree, with the same <code>Setting Name</code> to mine, (but absolutely in a different folder in her local file system), and if she has the file in the same relative location, then her Xcode can access the file without a problem.</li>
  </ul>
  
  <p>So is this correct, and we use source trees because it enables us collaborating with files outside the project folder?</p>
  
  <p>And even if the files outside the project folder is referenced by a relative path to the project folder itself (not to a source tree), if these files are all managed by SVN so they exist in the same relative location to the project folder in everyone's environments, then I wouldn't need source trees, right?</p>