| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE html |
| PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta |
| http-equiv="Content-Type" |
| content="text/html; charset=UTF-8" /> |
| <meta |
| content="text/html; charset=iso-8859-1" |
| http-equiv="Content-Type" /> |
| <link |
| type="text/css" |
| href="../../../default_style.css" |
| rel="stylesheet" /> |
| <link |
| type="text/css" |
| href="../../../webtools/wtp.css" |
| rel="stylesheet" /> |
| <title>Web Tools Platform 0.7 maintenance stream proposal</title> |
| </head> |
| <body> |
| <table |
| border="0" |
| cellpadding="2" |
| cellspacing="5" |
| width="100%"> |
| <tbody> |
| <tr> |
| <td |
| align="left" |
| width="60%"><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 |
| src="../../../webtools/images/wtplogosmall.jpg" |
| align="middle" |
| height="129" |
| hspace="50" |
| width="207" |
| alt="" /></td> |
| </tr> |
| </tbody> |
| </table> |
| <table |
| border="0" |
| cellpadding="2" |
| cellspacing="5" |
| width="100%"> |
| <col width="16" /> |
| <col width="*" /> |
| <tbody> |
| <tr> |
| <td |
| align="right" |
| valign="top"> </td> |
| <td valign="top"> |
| <p align="right"><em>Updated 2005-08-03</em></p> |
| </td> |
| </tr> |
| <tr> |
| <td |
| colspan="2" |
| align="left" |
| bgcolor="#0080c0" |
| valign="top"><b><font |
| color="#ffffff" |
| face="Arial,Helvetica">Introduction</font></b></td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top"> </td> |
| <td valign="top"> |
| <p>Branch name: <b>R0_7_maintenance</b></p> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top"> </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 |
| align="right" |
| valign="top"> </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 |
| colspan="2" |
| align="left" |
| bgcolor="#0080c0" |
| valign="top"><b><font |
| color="#ffffff" |
| face="Arial,Helvetica">Creating a branch for a plug-in/feature</font></b></td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top"> </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:</p> |
| <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> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top"> </td> |
| <td valign="top"> |
| <p><img |
| src="figure1.gif" |
| alt="" /> <img |
| src="figure2.gif" |
| alt="" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td |
| colspan="2" |
| align="left" |
| bgcolor="#0080c0" |
| valign="top"><b><font |
| color="#ffffff" |
| face="Arial,Helvetica">Checking out from a branch</font></b></td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top"> </td> |
| <td valign="top"> |
| <p>To check out from a branch:</p> |
| <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" |
| alt="" /></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" |
| alt="" /></li> |
| </ol> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top"> </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 |
| colspan="2" |
| align="left" |
| bgcolor="#0080c0" |
| valign="top"><b><font |
| color="#ffffff" |
| face="Arial,Helvetica">Tracking 0.7 maintenance fixes in bugzilla</font></b></td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top"> </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> |