|  | <?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> |