Personal tools
You are here: Home documentation developer MergingHowto
Views

Edit history

Edit: -1 of 1
Time: 2014-05-22 15:26:48
Note: /pd/pd/docs/developer/MergingHowto/vote

changed:
-
'''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):

'svn co https://pure-data.svn.sourceforge.net/svnroot/pure-data/branches/pd-extended/v0-40/abstractions/senderfruit'

'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.

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser