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 commons (not just commons-sandbox). If you don't have karma, get someone to help you.

  1. Start a proposal thread on the dev mailing list, stating reasons for promotion of the component.
  2. After addressing any concerns about the proposal, start a vote on dev mailing list.
  3. After vote passes, send announcement with time of move and remind everyone to have any files in the component checked in by that time.
  4. Move project in SVN
  5. Tag the current version
$svn move https://svn.apache.org/repos/asf/commons/sandbox/{prj} https://svn.apache.org/repos/asf/commons/proper/{prj}
$svn copy https://svn.apache.org/repos/asf/commons/proper/{prj}/trunk https://svn.apache.org/repos/asf/commons/proper/{prj}/tags/sandbox
  1. Remove from trunk-sandbox
$svn -N checkout https://svn.apache.org/repos/asf/commons/trunks-sandbox trunk-sandbox
$svn propedit svn:externals trunk-sandbox
$svn commit trunk-sandbox

When "propedit" remove search for your project and remove it.

  1. if your project were added to trunk-sandbox/buildall.sh, remove it from this file
  2. Add to trunk-proper
$svn -N checkout https://svn.apache.org/repos/asf/commons/trunks-proper trunks-proper
$svn propedit svn:externals trunks-proper
$svn commit trunks-proper

When "propedit": go to the end of the list and add your project

That's it for the actual SVN move. Verify the move succeeded by doing a clean checkout of commons. Verify the SVN Repository has picked up the changes correctly. You could to this by enter the svn url in your browser.

  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 commons.apache.org/foo rather than commons.apache.org/sandbox/foo 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

Checkout commons-build - you can do this by using

$svn co https://svn.apache.org/repos/asf/commons/proper/commons-build/trunk commons-build
  1. If you have update your gump.xml and project.xml
  2. 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).
  3. Update /www/commons.apache.org/sandbox/.htaccess and add a "Redirect permanent" to have automatic redirection from your projects sandbox to the proper website.
  4. Send an announcement to dev and user mailing lists announcing the move.
  5. Gather a list of committers for the component, ask dev@commons.apache.org to give them commit access to component in commons-proper.
  6. Start planning a release (wink)
  • No labels