So here's my dilemma. I have a site running on Zope 2.7 and Plone 2.0.4 that I need to migrate to Zope 2.10 and Plone 3.1.6. I'm replacing the server that the site is running on with a newer server and decided to go with CentOS 5 as the OS of choice instead of the Gentoo that was running on the original server. After adding a few repositories e.g. CentOS Plus, EPEL and RPMForge I had access to a Zope and Plone RPM. Normally I would either build the same version I had on the original server or find an RPM of the same version. However, this time I decided to just upgrade everything and hopefully start keeping up with newer versions as they come around .
It turns out that upgrading isn't as simple as copying your Data.fs file to a new Zope instance running the latest versions of Zope and Plone. Go figure :) After much trying then getting frustrated and searching I came across this blog where the author seems to have come to the same conclusion as I did: the only way to do the upgrade I desired was to upgrade Zope and Plone in lockstep. This means I'll have to upgrade Plone to 2.1, then Zope to 2.8, then Plone to 2.5, then Zope to 2.9, etc.
Luckily the Plone site has good documentation about the incremental upgrades and the whole process should be possible. Now all I have to do is go through the incremental upgrades on a virtual machine so I end up with a more-or-less pristine copy of the site for deployment on the new server.