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