| <html> |
| <head> |
| <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <link rel="stylesheet" href="../../../default_style.css" type="text/css"> |
| <link rel="stylesheet" href="../../../webtools/wtp.css" type="text/css"> |
| <title>Web Tools Platform 0.7 maintenance stream proposal</title> |
| </head> |
| <body> |
| <table width="100%" cellspacing="5" cellpadding="2" border="0"> |
| <tbody> |
| <tr> |
| <td width="60%" align="left"><font class="indextop">WTP 0.7 maintenance stream proposal</font> |
| <br> |
| <font class="indexsub">Web Tools Platform 0.7 maintenance stream proposal</font></td><td width="40%"><img width="120" hspace="50" height="86" align="middle" src="../../../images/Idea.jpg"></td> |
| </tr> |
| </tbody> |
| </table> |
| <table width="100%" cellspacing="5" cellpadding="2" border="0"> |
| <col width="16"> |
| <col width="*"> |
| <tbody> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p align="right"> |
| <em>Updated 2005-08-03</em> |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Introduction</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| Branch name: <b>R0_7_maintenance</b> |
| |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| The process described in this document follows the maintenance release process used by the |
| Eclipse platform project. This process requires us to branch all the build related project. |
| In WTP, that would be the <b>releng</b> and the <b>releng.builder</b> project. Unlike the build |
| projects, plug-in projects and feature projects will be branched on demand, meaning we need to |
| branch them when a fixed is needed in the maintenance stream. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| There will not be any "HEAD" build for the maintenance stream. That means a maintenance build will |
| always be built from the branched map files. The advantage for this approach is that we don't need |
| to branch everything. If we want to do "HEAD" builds in the maintenance stream, then all plug-ins/features need |
| to be branched regardless of whether changes are made to them or not. To keep things simple, let's |
| stay away from "HEAD" builds. This means, you need to release all your changes before they would |
| actually show up in a maintenance build. Releasing changes to the maintenance stream is the same |
| as releasing changes to the 1.0 stream. The only difference is that you MUST release to the branched |
| map files, not the HEAD map files. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Creating a branch for a plug-in/feature</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| Creating a branch for a plug-in/feature is fairly easy, here's a laundry list of what needs to be done: |
| <ol> |
| |
| <li>Check out the plug-in/feature project that you want to branch.</li> |
| |
| <li>Right click on the project > Team > Branch...</li> |
| |
| <li>Enter <b>R0_7_maintenance</b> as the branch name > OK.</li> |
| |
| <li>That's it. You have successfully created a branch. The following figures show you the |
| difference between a HEAD branch project and a 0.7 maintenance branch project.</li> |
| |
| </ol> |
| |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| |
| <img src="figure1.gif"> |
| <img src="figure2.gif"> |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Checking out from a branch</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| To check out from a branch: |
| <ol> |
| |
| <li>Create a CVS location just like you normally would.</li> |
| |
| <li>Expand the HEAD branch, and right click on the project that you want to work with > Configure Branches and Versions...</li> |
| |
| <li>A dialog opens. In the <b>Browse files for tags</b> section of this dialog (top left region), select any file that has |
| been branched. For example (I branched the <b>component-api.xsd</b> file for testing purposes) |
| <br> |
| <img src="figure3.gif"> |
| </li> |
| |
| <li>Once you have selected the file, the <b>New tags found in the selected files</b> section (top right region) should be |
| updated with the 0.7 maintenance branch name. Make sure only the <b>R0_7_Maintenance</b> branch is checked.</li> |
| |
| <li>Click on the <b>Add Checked Tags</b> button.</li> |
| |
| <li>Click <b>OK</b>.</li> |
| |
| <li>A new branch should be created in your CVS location. You can check out and commit to branch just like the HEAD branch. |
| <br> |
| <img src="figure4.gif"> |
| </li> |
| |
| </ol> |
| |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| For changes that need to go into both the HEAD and 0.7 branch, I find that retrofitting/merging changes manually is the easiest. |
| Since our 0.7 branch is limited to critical and NL fixes only, there shouldn't be too much work. However, if you like the Eclipse |
| CVS tools, they do come with some merging tool that you can use. It helps you merge 0.7 branch change back into HEAD. |
| This <a href="http://www.eclipse.org/articles/Article-CVS-branching/eclipse_branch.html">article</a> talks about this tool. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Tracking 0.7 maintenance fixes in bugzilla</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| We now have a <b>1.0 M7.1</b> target in bugzilla. I suggest when a fix is retrofitted from the 1.0 stream |
| to the 0.7 maintenance stream, we change the target of the corresponding bug to <b>1.0 M7.1</b>. |
| We can then create a bugzilla query to see what fixes went into the maintenance stream. |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </body> |
| </html> |