GeoTools : Stable Branch Example

Here is an example of grabbing a set of changes from trunk over to the 2.1.x stable branch.

You need a checkout of the stable branch:

  1. mkdir stable
  2. svn co stable

Then lets go into the geotiff module:

cd stable/plugin/geotiff

Lets figure out the first revision number - we can start with when 2.1.x split off trunk.

C:\java\geotools\gt\plugin\geotiff>svn log --stop-on-copy
r13949 | jgarnett | 2005-05-30 15:06:59 -0700 (Mon, 30 May 2005) | 1 line

Stable branch is targeted towards 2.1.RC0
r13923 | jgarnett | 2005-05-29 06:36:36 -0700 (Sun, 29 May 2005) | 1 line

stable branch will be released as 2.1.0

So 2.1.x was created at r13923 - that is BEFORE

Now lets check what happened on trunk in that timeframe:

C:\java\geotools\gt\plugin\geotiff>svn log -r 13923:HEAD
r13954 | desruisseaux | 2005-05-30 16:57:16 -0700 (Mon, 30 May 2005) | 1 line

Removed deprecated CRS classes from trunk. Those classes will stay on the 2.1 branch. The purpose for this removal is o
track down any remaining dependencies to old class names, if check if those dependencies may hurt. A few dependencies (
forgot during the renaming phase) were found, but none of them need to be fixed in the 2.1 branch.

So it looks like there is a good change we want on the stable branch.

Lets go get it:

> svn merge -r 13923:13954
U test\org\geotools\gce\geotiff\
U src\org\geotools\gce\geotiff\

So two files were changed, lets try our "maven test", that still works. Okay that worked, it is worth doing the full "maven clean, build, createRelease" cycle.

Often when developing on trunk we don't do the createRelease test - but hey we are supposed to be stable here.

If all goes well we can commit:

> svn commit -m "Patched r 13923:13954 from trunk, Removed the last dependencies to the old CRS system - thanks martin"
Sending geotiff\src\org\geotools\gce\geotiff\
Sending geotiff\test\org\geotools\gce\geotiff\
Transmitting file data ..
Committed revision 13977.

And hope that CC does not find issue with the changes (is shouldn't).

If it did we could back out the change and commit:

svn merge -r 13954:13923
svn commit -m "Depatch 13954:13923 from trunk, removed a CRS dependency fix - no thanks martin"