SVNMigration

From Apache OpenOffice Wiki
Revision as of 12:44, 12 December 2008 by B michaelsen (Talk | contribs)

Jump to: navigation, search

OpenOffice.org migrates to Subversion

After a long discussion and preparation time it finally happens, OpenOffice.org migrates with milestone DEV300 m31 to a new SCM (Software Configuration Management) system. The new SCM system will be Subversion (SVN) for now, which might disappoint the one or other who had hoped for a distributed SCM like Git, Bazaar or Mercurial. Please be assured that we'll keep our mind open and we'll reevaluate the fast moving SCM tooling situation periodically. We were very careful to make certain that our move now to Subversion does not preclude a move to a DSCM in the future.
Documentation note.png why

Trunk only migration

Milestone DEV300 m31 is the last milestone which has been integrated via CVS and is the first milestone which is available in SVN. We did a trunk migration only. The trunk (DEV300) code line will be maintained via Subversion only starting with milestone DEV300 m32. Old code lines, including the OOo-3.0 release codeline(OOO300) will still be maintained via CVS.

Please let me repeat this: we did not migrate branches and tags to SVN. There are a number of advantages (and some disadvantages as well) to this approach. A discussion of the merits of different approaches to the actual repository conversion can be found here.

The most important reasons for choosing the "trunk only" approach were:

  • No quiet time for developers
  • The conversion of historical workspaces from CVS to SVN would be fragile at best due to some liberties we took in structuring our CVS repository. Having no historical branches and tags is preferable to having inaccurate branches and tags IMHO.

The "trunk only" approach enabled us to optimize the resulting SVN repository, it shrunk from 90 GBytes to about 6 GBytes overall size. The following rules have been applied during conversion

  • Only modules which have active content in DEV300 m31 are included in the conversion.
  • All files in "Attic" have been removed.
  • All but the last revisions of binary files have been dropped - after all you can't diff them anyway
  • All but the last revisions of "localize.sdf" files have been dropped - saves an incredible amount of repository space without loosing much

Required tools

  • subversion-1.5.4 or later; download...
  • ssh for committers, preferably OpenSSH 2.4 or later

We make heavy use of the new SVN merge tracking feature. So please do not use a SVN client older than subversion-1.5.4 if you work on a child workspace (CWS). Please note, subversion-1.5.1 is known to break things in the Openoffice.org context and subversion-1.5.3 has been hastily replaced by the subversion developers because it can break mergetracking.

Windows users most certainly want to take a look at TortoiseSVN and lots of documentation available at http://tortoisesvn.net/

You will find a walkthrough on how to set up svn clientside on Setting up Subversion Access

FAQ

Why not just wait until one of the DSCM systems emerges as a clear front runner?

Well, first, this might never happen because each of the mentioned DSCM system emphasizes certain strength, leaving no one clear winner in all categories (ease of use, performance, integration possibilities and platform support). Second, and this is way more important, the OpenOffice.org CWS/CVS system is crumbling under the heavy weight of 8 years worth of OOo coding.

Personal tools