|
You can download svnmerge.py directly from http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge.py if your svn doesn't come with it (CentOS doesn't). Basic instructions are http://www.orcaware.com/svn/wiki/Svnmerge.py
Example: In this case, I've upgraded manager to 1.0.4 in branch 2.1, and I want to merge that into 2.2.
[rob@wpm4l-gw manager]$ svn ci Sending manager/functions.inc.php Sending manager/module.xml Sending manager/page.manager.php Transmitting file data ... Committed revision 2013. [rob@wpm4l-gw manager]$ cd .. [rob@wpm4l-gw 2.1]$ ./publish.pl manager/ A (bin) ../../release/manager-1.0.4.tgz property 'svn:mime-type' set on '../../release/manager-1.0.4.tgz' Sending branches/2.1/manager/module.xml Adding (bin) release/manager-1.0.4.tgz Transmitting file data .. Committed revision 2014. [rob@wpm4l-gw 2.1]$ cd ../2.2/ [rob@wpm4l-gw 2.2]$ svnmerge.py avail 2013-2014 [root@wpm4l-gw 2.2]$
Note how it has picked up that 2013 and 2014 are avalable to be merged in. 2013 is the actual code, and 2014 is release .tgz file (which will be ignored), and the update to module.xml with the correct md5 and location.
[rob@wpm4l-gw 2.2]$ svnmerge.py merge U manager/module.xml U manager/functions.inc.php U manager/page.manager.php property 'svnmerge-integrated' set on '.' [rob@wpm4l-gw 2.2]$
Then just do a svn ci - note,you DON'T need to do a publish, as the .tgz file was already created in r2014.
[rob@wpm4l-gw 2.2]$ svn ci -F svnmerge-commit-message.txt Sending 2.2 Sending 2.2/manager/functions.inc.php Sending 2.2/manager/module.xml Sending 2.2/manager/page.manager.php Transmitting file data ... Committed revision 2015. [rob@wpm4l-gw 2.2]$ svnmerge.py avail [rob@wpm4l-gw 2.2]$# svn pl -v Properties on '.': svnmerge-integrated : /modules/branches/2.1:1-2014 [rob@wpm4l-gw 2.2]$
