Views
Disclaimer: this might be obsolete, as the current workflow is based on Git
Often you'll want to merge changes you've made on one branch (say, a Pd-extended release branch) back to the trunk, or vice-versa.
An SVN branch is simply a copy of a directory at a certain revision with a shared history up to the point of copying. You can find the exact revision of a branch's branching by using "svn log --stop-on-copy", so in this case:
'svn log --stop-on-copy https://pure-data.svn.sourceforge.net/svnroot/pure-data/branches/pd-extended/v0-40/abstractions/senderfruit'
tells me that my directory was copied over at revision 9819.
So, now that I know where I'm starting from, I pull down a copy of the branch I'm merging into (merging happens locally in case of conflicts):
'cd senderfruit'
then merge everything from 9819 to the present (from the trunk):
'svn merge -r 9819:HEAD https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk/abstractions/senderfruit'
and, most importantly, I leave a note in the log of what I merged so that if I want to merge again, I'll know where I left off.
'svn ci -m "merged r 9819:9852 from trunk/abstractions/senderfruit"'
As you'll note, all this revision bookkeeping is a giant pain in the ass.
That's being supposedly fixed in SVN 1.5, where you'll be able to simply say "svn merge [URL]? [WorkingCopy]?" and it will figure the rest out.