Differences between revisions 37 and 38
Revision 37 as of 2005-07-25 07:57:08
Size: 3713
Comment:
Revision 38 as of 2009-09-20 23:50:13
Size: 3731
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Migrating from [http://www.cvshome.org/ CVS] to [http://subversion.tigris.org/ Subversion] is an ASF Infrastructure desired event for Jakarta. Migrating from [[http://www.cvshome.org/|CVS]] to [[http://subversion.tigris.org/|Subversion]] is an ASF Infrastructure desired event for Jakarta.
Line 5: Line 5:
 * See the [http://www.apache.org/dev/version-control.html Version Control] page for usage details.
 * See the [http://www.apache.org/dev/cvs2svn.html cvs2svn] page for conversion details.
 * See the [[http://www.apache.org/dev/version-control.html|Version Control]] page for usage details.
 * See the [[http://www.apache.org/dev/cvs2svn.html|cvs2svn]] page for conversion details.
Line 30: Line 30:
 * The tagging and branching model varies from that of CVS, and is only a "cheap" directory copy. Tags which are more than a simple directory tree get trickier. ie) tagging without tagging all the files, or tagging plus a set of files in a sibling directory. The trick of doing 'cvs status -v build.xml' to list known tags for a module is no longer available as well. Instead, the "tags/" directory in the repository may be browsed using a 'svn ls' or a [http://svn.apache.org/viewcvs.cgi/ web browser].  * The tagging and branching model varies from that of CVS, and is only a "cheap" directory copy. Tags which are more than a simple directory tree get trickier. ie) tagging without tagging all the files, or tagging plus a set of files in a sibling directory. The trick of doing 'cvs status -v build.xml' to list known tags for a module is no longer available as well. Instead, the "tags/" directory in the repository may be browsed using a 'svn ls' or a [[http://svn.apache.org/viewcvs.cgi/|web browser]].
Line 39: Line 39:
 * Tapestry - Nudged. Is [http://sublicpse.tigris.org/ Subclipse] good enough?  * Tapestry - Nudged. Is [[http://sublicpse.tigris.org/|Subclipse]] good enough?
Line 49: Line 49:
 * Commons - Martin Cooper + Tim O'Brien - [http://wiki.apache.org/jakarta-commons/SubversionConversion Conversion Instructions]  * Commons - Martin Cooper + Tim O'Brien - [[http://wiki.apache.org/jakarta-commons/SubversionConversion|Conversion Instructions]]
Line 56: Line 56:
 * Site2 - Tim O'Brien + Henri Yandell - ["Site2 Conversion Instructions"]  * Site2 - Tim O'Brien + Henri Yandell - [[Site2_Conversion_Instructions]]
Line 58: Line 58:
 * Taglibs - Henri Yandell using Adapted Commons Scripts [http://brahe.discursive.com/svn/taglibs/ Test Repo] [http://brahe.discursive.com/taglibs-convert.tgz scripts.tgz(200k)]  * Taglibs - Henri Yandell using Adapted Commons Scripts [[http://brahe.discursive.com/svn/taglibs/|Test Repo]] [[http://brahe.discursive.com/taglibs-convert.tgz|scripts.tgz(200k)]]

Migrating to Subversion

Migrating from CVS to Subversion is an ASF Infrastructure desired event for Jakarta.

Plan

  • Every sub-project of Jakarta gets a subdirectory in the Jakarta SVN repo.
  • They use a tags/trunk/branches structure within said subdirectory, though they could further componentise and then use the tags/trunk/branches structure if it fits them better.
  • The CVS repositories of "dead" projects are not targeted for immediate migration (e.g. jakarta-site).

Positives

Subversion provides many advantages over CVS, smoothing out its "excessive character" while providing the same approximate level of functionality, and a much better designed platform on which to develop tools. Sampling of improvements over CVS:

  • move files within the repository and maintain the history
  • delete directories (which are treated no different than any other versioned resource)
  • treat groups of files in one commit as a single transaction (change set-like)
  • significantly faster branching and tagging

Another major benefit is that administration of Subversion simplifies the life of the Infrastructure team. UNIX accounts need not be created for each user; user accounts are instead maintained in htaccess files, with authentication occuring over SSL.

Questions

  • Is the community's toolset fully supported?

Negatives

  • The tagging and branching model varies from that of CVS, and is only a "cheap" directory copy. Tags which are more than a simple directory tree get trickier. ie) tagging without tagging all the files, or tagging plus a set of files in a sibling directory. The trick of doing 'cvs status -v build.xml' to list known tags for a module is no longer available as well. Instead, the "tags/" directory in the repository may be browsed using a 'svn ls' or a web browser.

  • Obliteration of files which should have never made their way into the VC repository (e.g. files with a non-ASF allowed license) can currently only be accomplished through a dump/edit/load of the entire repository by the Infrastructure team (resulting in a repository-wide maintenance window).

Migration Plan

To do

  • Cactus - Vincent Massol. Renudged.
  • JMeter - Nudge sent.
  • POI - (In test repo)
  • Tapestry - Nudged. Is Subclipse good enough?

Archivals

  • Alexandria - Archive. Will do this last.
  • jakarta-site
  • all the java.apache.org modules

DONE

  • BCEL - Henri Yandell
  • BSF - (done)
  • Commons - Martin Cooper + Tim O'Brien - Conversion Instructions

  • ECS - Robert Burell Donkin + Henri Yandell. jakarta-ecs and jakarta-ecs2.
  • HiveMind - (done)

  • JCS - (done)
  • Lucene - Erik Hatcher
  • ORO - Daniel Savarese
  • Regexp - Henri Yandell
  • Site2 - Tim O'Brien + Henri Yandell - Site2_Conversion_Instructions

  • Slide - Stefan Lützkendorf.
  • Taglibs - Henri Yandell using Adapted Commons Scripts Test Repo scripts.tgz(200k)

  • Turbine - (done)
  • Velocity - Daniel Rall

Migrating_to_Subversion (last edited 2009-09-20 23:50:13 by localhost)