Managing the ROCKS Installer with Subversion

See local subversion pages at Subversion

Creating a Branch or Tag

SVN root@msurox /home/install # svn copy -m "create my branch" $SVN_ROCKS/trunk $SVN_ROCKS/branches/NEWDIR

Merging onto Trunk

http://svnbook.red-bean.com/en/1.5/svn.branchmerge.html

Once an update has been tested and agreed to be ready for commit to trunk, use these steps to merge it.

SVN root@msurox /home/install # svn info contrib
Path: contrib
URL: svn+ssh://ndt.aglt2.org/branches/rockwell/feb-2009-xml2/contrib
Repository Root: svn+ssh://ndt.aglt2.org
Repository UUID: 5a23d566-2940-0410-a792-bc953f68362c
Revision: 500
Node Kind: directory
Schedule: normal
Last Changed Author: rockwell
Last Changed Rev: 448
Last Changed Date: 2009-02-11 00:44:44 -0500 (Wed, 11 Feb 2009)

SVN root@msurox /home/install # svn status -u contrib/      
Status against revision:    517

Note here the svn info output is confusing or incomplete, the actual RPMS subdirectory was changed in r517, so I'm not sure why that isn't reflected in the parent directory...

switch to trunk, or if things are messy and the switch doesn't work, just delete working (it is clean against the branch, right?) and checkout fresh from trunk.

export SVN_BRANCH=$SVN_ROCKS/branches/rockwell/feb-2009-xml2

SVN root@msurox /home/install # svn switch $SVN_ROCKS/trunk/contrib contrib

SVN root@msurox /home/install # rm -rf site-profiles
SVN root@msurox /home/install # svn checkout $SVN_ROCKS/trunk/site-profiles site-profiles

what can merge?

SVN root@msurox /home/install # svn mergeinfo --show-revs eligible $SVN_ROCKS/branches/rockwell/feb-2009-xml2/contrib contrib
r467
r501
r503
r517

It says 4 are available, but really the first one was the creation of the branch so we forget about it.

SVN root@msurox /home/install # svn log -r 467 $SVN_ROCKS 2> /dev/null
------------------------------------------------------------------------
r467 | rockwell | 2009-02-13 01:52:11 -0500 (Fri, 13 Feb 2009) | 1 line

make branch from trunk
------------------------------------------------------------------------

The other 3 we want. r501 is has a large number of files added to contrib, r503 and r517 have smaller numbers of rpms, but also make changes in site-profiles that are needed with these rpm changes. SVN won't magically apply the changes to two working areas at once, but it will apply the correct portions of each to each working area!

See what has changed on trunk...

SVN root@msurox /home/install # svn log --verbose -r 467:HEAD $SVN_ROCKS/trunk/contrib 2> /dev/null
------------------------------------------------------------------------
r507 | root | 2009-02-18 09:23:25 -0500 (Wed, 18 Feb 2009) | 1 line
Changed paths:
   D /trunk/contrib/4.3/x86_64/RPMS/OCSNG_LINUX_CLIENT-1.0-RC2.noarch.rpm
   D /trunk/contrib/4.3/x86_64/RPMS/java-1.5.0-sun-compat-1.5.0.10-1jpp.x86_64.rpm
   A /trunk/contrib/4.3/x86_64/RPMS/java-1.6.0-sun-compat-1.6.0.06-1jpp.x86_64.rpm
   D /trunk/contrib/4.3/x86_64/RPMS/jdk-1_5_0_10-linux.x86_64.rpm
   A /trunk/contrib/4.3/x86_64/RPMS/jdk-6u6-linux-amd64.rpm
   D /trunk/contrib/4.3/x86_64/RPMS/lldpd-1.0-1.x86_64.rpm
   A /trunk/contrib/4.3/x86_64/RPMS/lldpd-1.0-3a.x86_64.rpm
   A /trunk/contrib/4.3/x86_64/RPMS/ocsinventory-agent-0.0.10beta2-1.AGLT2.noarch.rpm
   A /trunk/contrib/4.3/x86_64/RPMS/perl-Net-SSLeay-1.30-1.el4.rf.x86_64.rpm
   D /trunk/contrib/4.3/x86_64/RPMS/stress-0.18.8-1.2.el4.rf.x86_64.rpm
   A /trunk/contrib/4.3/x86_64/RPMS/stress-1.0.0-1.AGLT2.x86_64.rpm

BB update rpm set to current install level
------------------------------------------------------------------------

So which over laps with changes on the branch (how to show that using merge?). So want to apply it to our branch...

SVN root@msurox /home/install # svn mergeinfo --show-revs eligible $SVN_ROCKS/trunk/contrib contrib 2> /dev/null r507

SVN root@msurox /home/install # svn merge --dry-run $SVN_ROCKS/trunk/contrib contrib 2> /dev/null
Merging r467 through r517 into 'contrib': A contrib/4.3/x86_64/RPMS/java-1.6.0-sun-compat-1.6.0.06-1jpp.x86_64.rpm A contrib/4.3/x86_64/RPMS/perl-Net-SSLeay-1.30-1.el4.rf.x86_64.rpm A contrib/4.3/x86_64/RPMS/lldpd-1.0-3a.x86_64.rpm A contrib/4.3/x86_64/RPMS/jdk-6u6-linux-amd64.rpm A contrib/4.3/x86_64/RPMS/stress-1.0.0-1.AGLT2.x86_64.rpm A contrib/4.3/x86_64/RPMS/ocsinventory-agent-0.0.10beta2-1.AGLT2.noarch.rpm Skipped missing target: 'contrib/4.3/x86_64/RPMS/OCSNG_LINUX_CLIENT-1.0-RC2.noarch.rpm' Skipped missing target: 'contrib/4.3/x86_64/RPMS/stress-0.18.8-1.2.el4.rf.x86_64.rpm' Skipped missing target: 'contrib/4.3/x86_64/RPMS/jdk-1_5_0_10-linux.x86_64.rpm' Skipped missing target: 'contrib/4.3/x86_64/RPMS/lldpd-1.0-1.x86_64.rpm' Skipped missing target: 'contrib/4.3/x86_64/RPMS/java-1.5.0-sun-compat-1.5.0.10-1jpp.x86_64.rpm'

Note that some of the A lines are for already existing files... Though the perl-Net has a higher version in the working area, so remove this one...

SVN root@msurox /home/install # svn status -u contrib/ 2> /dev/null A + - contrib/4.3/x86_64/RPMS/perl-Net-SSLeay-1.30-1.el4.rf.x86_64.rpm M 517 contrib Status against revision: 517

We could commit that addition, then delete it and commit that, but instead we'll just remove it from the trunk after doing our merge. , but in the end we'll just get back to the branch status... Not sure if there was a way to knwo in advance that this was going to be the result (we'll be able to check the end result...).

back with trunk for contrib working area...

should have used --reintegrate here

SVN root@msurox /home/install # svn merge --dry-run $SVN_BRANCH/contrib contrib

Skipped missing target: 'contrib/4.3/x86_64/RPMS/libstdc++-devel-3.4.6-9.x86_64.rpm' Skipped missing target: 'contrib/4.3/x86_64/RPMS/libstdc++-3.4.6-9.x86_64.rpm' D contrib/4.3/x86_64/RPMS/libstdc++-devel-3.4.6-9.i386.rpm Skipped missing target: 'contrib/4.3/x86_64/RPMS/openmotif-2.2.3-10.1.el4.x86_64.rpm' Skipped missing target: 'contrib/4.3/x86_64/RPMS/libstdc++-3.4.6-9.i386.rpm'
Merging r503 through r516 into 'contrib/4.3/x86_64/RPMS/java-1.6.0-sun-compat-1.6.0.06-1jpp.x86_64.rpm': A contrib/4.3/x86_64/RPMS/java-1.6.0-sun-compat-1.6.0.06-1jpp.x86_64.rpm Skipped missing target: 'contrib/4.3/x86_64/RPMS/jdk-1_5_0_10-linux.x86_64.rpm' Skipped missing target: 'contrib/4.3/x86_64/RPMS/java-1.5.0-sun-compat-1.5.0.10-1jpp.x86_64.rpm'
Merging r517 into 'contrib/4.3/x86_64/RPMS': A contrib/4.3/x86_64/RPMS/chkrootkit-0.47-1.el4.rf.x86_64.rpm A contrib/4.3/x86_64/RPMS/perl-Net-SSLeay-1.32-1.el4.rf.x86_64.rpm A contrib/4.3/x86_64/RPMS/perl-XML-Simple-2.18-1.el4.rf.noarch.rpm A contrib/4.3/x86_64/RPMS/perl-Net-IP-1.25-1.el4.rf.noarch.rpm Skipped missing target: 'contrib/4.3/x86_64/RPMS/OCSNG_LINUX_CLIENT-1.0-RC2.noarch.rpm' Skipped missing target: 'contrib/4.3/x86_64/RPMS/stress-0.18.8-1.2.el4.rf.x86_64.rpm' Skipped missing target: 'contrib/4.3/x86_64/RPMS/lldpd-1.0-1.x86_64.rpm'

SVN root@msurox /home/install # svn merge $SVN_BRANCH/contrib contrib
Merging r467 through r502 into 'contrib/4.3/x86_64/RPMS': A contrib/4.3/x86_64/RPMS/specspo-9.0.92-3.noarch.rpm A contrib/4.3/x86_64/RPMS/libf2c-3.4.6-10.x86_64.rpm A contrib/4.3/x86_64/RPMS/man-pages-1.67-17.el4.noarch.rpm A contrib/4.3/x86_64/RPMS/xorg-x11-Mesa-libGL-6.8.2-1.EL.52.i386.rpm A contrib/4.3/x86_64/RPMS/nfs-utils-lib-1.0.6-8.z1.x86_64.rpm

Hum, after merge, confused by output of svn diff --summary between branch and trunk or svn status -u on working area...

SVN root@msurox /home/install # svn status -u contrib/ 2> /dev/null | grep '*' * contrib/4.3/x86_64/RPMS/openmotif-2.2.3-10.1.el4.x86_64.rpm * contrib/4.3/x86_64/RPMS/libstdc++-devel-3.4.6-9.x86_64.rpm * contrib/4.3/x86_64/RPMS/libstdc++-3.4.6-9.x86_64.rpm * contrib/4.3/x86_64/RPMS/libstdc++-3.4.6-9.i386.rpm ! * 518 contrib/4.3/x86_64/RPMS ! * 518 contrib/4.3/x86_64 ! * 518 contrib

SVN root@msurox /home/install # svn info contrib/4.3/x86_64/RPMS/openmotif-2.2.3-10.1.el4.x86_64.rpm svn: 'contrib/4.3/x86_64/RPMS/openmotif-2.2.3-10.1.el4.x86_64.rpm' is not under version control

SVN root@msurox /home/install # svn list $SVN_ROCKS/trunk/contrib/4.3/x86_64/RPMS | grep openmotif svn: /usr/lib64/libgssapi_krb5.so.2: no version information available (required by /usr/lib/libneon.so.27) Scientific Linux CERN SLC release 4.7 (Beryllium) openmotif-2.2.3-10.1.el4.x86_64.rpm openmotif-2.2.3-10.2.el4.i386.rpm openmotif-2.2.3-10.2.el4.x86_64.rpm You have mail in /var/spool/mail/root SVN root@msurox /home/install # svn list $SVN_BRANCH/contrib/4.3/x86_64/RPMS | grep openmotif svn: /usr/lib64/libgssapi_krb5.so.2: no version information available (required by /usr/lib/libneon.so.27) Scientific Linux CERN SLC release 4.7 (Beryllium) openmotif-2.2.3-10.2.el4.i386.rpm openmotif-2.2.3-10.2.el4.x86_64.rpm

hum....

removed the older perl-Net... from trunk.

Get a brand clean checkout of contrib from trunk.

-- TomRockwell - 20 Feb 2009
Topic revision: r1 - 23 Feb 2009, TomRockwell
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback