Dealing with vendor branches ---------------------------- $SVNROOT is the full URL, e.g. svn://svn.pspdev.org/psp Initial import and copy to main branch: tar xvzf foo-1.0.tgz svn import foo-1.0 $SVNROOT/vendor/foo/current -m 'initial import' svn copy $SVNROOT/vendor/foo/current $SVNROOT/vendor/foo/1.0 -m 'tag foo 1.0' svn copy $SVNROOT/vendor/foo/1.0 $SVNROOT/trunk/foo -m 'copy foo 1.0 to trunk' Vendor releases foo-1.1, so update the /vendor directory: tar xvzf foo-1.1.tgz svn_load_dirs -t 1.1 $SVNROOT/vendor/foo current foo-1.1 Then merge foo-1.1 into main branch: cd working-copy/trunk/foo svn merge $SVNROOT/vendor/foo/1.0 $SVNROOT/vendor/foo/1.1 foo svn commit -m 'merge foo 1.1 into trunk' Noting the version in the log message for the merge is useful for later merges.