This page describes how to move a component from the commons sandbox to the commons proper. This page assumes you're already an Apache committer with karma for both commons and commons-sandbox. If you don't have karma, ask for it or get someone to help you.

  1. Start vote on dev mailing list, stating reason for promotion of the component.
  2. After vote passes, send announcement with time of move and remind everyone to have any files in the component checked in by that time.
  3. Actual CVS move:
    1. Log in to your Apache cvs account
    2. Checkout commons and commons-sandbox, and:

$cd commons-sandbox/foo

$cvs import commons/foo commons_sandbox commons_promotion

[the latter two arguments are required by CVS but arbitrary -- read help on cvs import for more details] Also, it will ask you for a commit message. I couldn't remember the vi commands to save (:w) or quit (:q):

$cd ..

$cvs remove -fR foo

$cd ..

$cvs commit

That's it for the actual CVS move. Verify the move succeeded by doing a clean checkout of both commons and commons-sandbox. Verify that ViewVC has picked up the changes correctly.

If you decide to move the CVS directory itself by modifying CVSROOT, make sure you create a backup of the commons module before copying, in case something goes wrong.

  1. Make sure your component still builds OK by building it in its new home.
  2. Update the web site for your component. Start with maven clean if your site is mavenized. Your site should now be at rather than The easiest way to update a mavenized site once you've built and tested it locally is to run

$maven -Dmaven.username=${apache.username} site:sshdeploy
  1. Update the commons web site to reflect your component's move. You will need to update the menus under commons/commons-build/menus (components-items.ent and sandbox-items.ent), as well as the more descriptive listings under commons/commons-build/parts (components-table.ent and sandbox-table.ent).
  2. Send an announcement to dev and user mailing lists announcing the move.
  3. Gather a list of committers for the component, ask to give them commit access to component in commons-proper.

  4. Start planning a release ;)


  1. Check-out jakarta-site2 and edit jakarta-site2/xdocs/index.xml and news.xml. Put a news of "Commons-XX graduated from Sandbox to Commons-Proper"

MovingFromSandboxToProper (last edited 2009-09-20 23:48:20 by localhost)