Hello, I'm very new to subversion - my background is systems administration work, so I know enough CVS (probably what I'm most knowledgable in), svn and git to check things out, make simple diffs to send upstream, and more often than not, totally screw something up to the point where it's easier to wipe the repo than fix it. :) I'm trying to avoid future problems with a small development project I'm working on. I have a completed "add-on" to an open source product, and before release, I have some cleanup to do on the code. If it were completely separate from the base code, this would be easy. But the add-on modifies a half-dozen or so core files in the project (and oddly enough, this is an acceptable way to work with this project, the majority of the add-ons do this and use vqmod to do "on the fly" patching of core files). So I need to have the project itself in subversion, and update it with each official release made upstream, I need to track my own changes to files that are both modified and have been added to the project, and I need to easily produce a set of diffs on each major update as well as a list of files that exist in my branch but not upstream. Conceptually, I'm lost - do I import the outside project, and make that a branch (ie: "vendor"), make another branch where I spray my files on top of all that and then commit individually to each branch (ie: vendor releases an update, I apply that to "vendor" branch, then tag that with the vendor's release; then I do a merge from the vendor branch to my branch and fix up all the modified files there and tag that with my release)? I'm also not having much fun with the "ignore" property and getting it to work recursively on a directory. I pull my working stuff from a live site where I test and I've got cache directories, image directories, etc. that I have no need to track. I'm going to attack the SVN book again, but having some direction to go in for my particular use case would be very helpful. I just read through the "vendor branch" stuff and that seems more geared to having something like an external library in a subdirectory of my project, which is not what I'm doing... I hope this makes some kind of sense.