title: Subversion merging changes from a different repository
body: <p>I'm really confused. I want to do something that a) seems like it <em>should</em> be pretty simple, and b) other people must do all the time, but I cant find out the best way to do it anywhere.</p>
  
  <p>There's an external repository that contains some 3rd party code. I want to take a copy of version 1 of the code and put it in my own repository, and then customise it for my own needs. When version 2 of that code is released I want to be able to upgrade my customised version with all of the version 2 changes, retaining my customisations.</p>
  
  <p>I've read about vendor branches (<a href="http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html" rel="nofollow noreferrer">http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html</a>) but I don't understand why merging the previous copy of the vendor code and the new copy of the vendor code needs to be so complicated (ie. svn_load_dirs.pl). Surely, if the 3rd party code is stored in an SVN repository, all of the history regarding which files have moved/been deleted is known, so why do you need to tell it what's changed manually?</p>
  
  <p>Quote:</p>
  
  <blockquote>
    <p>For example, you will have the opportunity to tell the script that you know that the file math.c in version 1.0 of libcomplex was renamed to arithmetic.c in libcomplex 1.1.</p>
  </blockquote>
  
  <p>I've also read (<a href="http://svn.haxx.se/users/archive-2006-04/0285.shtml" rel="nofollow noreferrer">http://svn.haxx.se/users/archive-2006-04/0285.shtml</a>) that it is possible to simply run a merge between different repositories, but I didn't think that was possible, and whenever I've tried it it's failed (though I could have been doing something wrong).</p>
  
  <p>Can anyone clarify this for me, and suggest the best solution?</p>