platform-vcm-home/2_0_testing.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3, Wed May 22 20:18:44 2002 UTC revision 1.4, Wed May 22 20:28:44 2002 UTC
# Line 1  Line 1 
1  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2  <html>  <html>
3  <head>  <head>
4  <head>  
5    <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">    <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
6    <title>Team Testing Roadmap</title>    <title>Team Testing Roadmap</title>
7    
8    <meta name="author" content="OTI Employee">    <meta name="author" content="OTI Employee">
9    
10    <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">    <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
11  </head>  </head>
12  <body>  <body>
   
13  <h1>Section 1: General CVS Tests</h1>  <h1>Section 1: General CVS Tests</h1>
14  <h3>Interoperability</h3>  <h3>Interoperability</h3>
15  <ol>  <ol>
16    <li>Bringing in java projects without a .project - should prompt for project type to create.</li>    <li>Bringing in java projects without a .project - should prompt for project
17     type to create.</li>
18  </ol>  </ol>
   
19  <h3>First time setup</h3>  <h3>First time setup</h3>
20  <ol>  <ol>
21    <li>Modules in the repo view and checking out modules</li>    <li>Modules in the repo view and checking out modules</li>
22  </ol>  </ol>
   
23  <h3>Project sharing and disconnecting</h3>  <h3>Project sharing and disconnecting</h3>
24  <ol>  <ol>
25    <li>Sharing with no CVS folders against existing project</li>    <li>Sharing with no CVS folders against existing project</li>
# Line 27  Line 27 
27    <li>Sharing new project with no CVS folders</li>    <li>Sharing new project with no CVS folders</li>
28    <li>Disconnect: keeping and deleting CVS folders, reconnecting (as above)</li>    <li>Disconnect: keeping and deleting CVS folders, reconnecting (as above)</li>
29  </ol>  </ol>
   
30  <h3>CVS workflow</h3>  <h3>CVS workflow</h3>
31  <ol>  <ol>
32    <li>Ignoring resources</li>    <li>Ignoring resources</li>
33    <li>“Add to .cvsignore”</li>    <li>&#8220;Add to .cvsignore&#8221;</li>
34    <li>Add to global ignore list, ensure its now ignored</li>    <li>Add to global ignore list, ensure its now ignored</li>
35    <li>Replace with (base, branch, version)</li>    <li>Replace with (base, branch, version)</li>
36    <li>Update/commit with very large files (> 8 meg)</li>    <li>Update/commit with very large files (&gt; 8 meg)</li>
37    <li>Ensure you are prompted for unsaved changes before performing a CVS action</li>    <li>Ensure you are prompted for unsaved changes before performing a CVS
38     action</li>
39  </ol>  </ol>
   
40  <h3>Project sets</h3>  <h3>Project sets</h3>
41  <ol>  <ol>
42    <li>Create one, delete projects, load set and ensure got projects back</li>    <li>Create one, delete projects, load set and ensure got projects back</li>
43    <li>Test against HEAD, project on branch/version.</li>    <li>Test against HEAD, project on branch/version.</li>
44  </ol>  </ol>
   
45  <h3>Branching/Merging</h3>  <h3>Branching/Merging</h3>
   
46  <h3>Decorators</h3>  <h3>Decorators</h3>
47  <ol>  <ol>
48    <li>Change all the options, apply, see them redraw correctly</li>    <li>Change all the options, apply, see them redraw correctly</li>
49    <li>Add/remove items, ensure dirty markers update</li>    <li>Add/remove items, ensure dirty markers update</li>
50    <li>Add to version control and see decorator change</li>    <li>Add to version control and see decorator change</li>
51    <li>Performance with large trees expanded</li>    <li>Performance with large trees expanded</li>
52    <li>Collapse large tree, exit workspace, restart (should not be as expensive as if tree had been left expanded)</li>    <li>Collapse large tree, exit workspace, restart (should not be as expensive
53     as if tree had been left expanded)</li>
54  </ol>  </ol>
   
55  <h3>Patching</h3>  <h3>Patching</h3>
56  Creating patches and then comparing with them. In particular,  Creating patches and then comparing with them. In particular,
57  <ol>  <ol>
# Line 63  Line 60 
60    <li>added or deleted folders with added or deleted files in them</li>    <li>added or deleted folders with added or deleted files in them</li>
61    <li>binary files</li>    <li>binary files</li>
62  </ol>  </ol>
   
63  <h3>Misc</h3>  <h3>Misc</h3>
64  <ol>  <ol>
65    <li>CVS Console: ensure written to</li>    <li>CVS Console: ensure written to</li>
# Line 72  Line 68 
68    <li>Is the workspace in an ok state after?</li>    <li>Is the workspace in an ok state after?</li>
69    <li>Compression switches, ensure data transfered ok (commit, update)</li>    <li>Compression switches, ensure data transfered ok (commit, update)</li>
70  </ol>  </ol>
   
71  <h1>Section 2: CVS Synchronize View</h1>  <h1>Section 2: CVS Synchronize View</h1>
72  <table height="124" border="1" width="99%">  <table height="124" border="1" width="99%">
73          <tbody>          <tbody>
# Line 84  Line 79 
79                  <tr>                  <tr>
80                          <td width="25%"><b>Incoming File Change</b></td>                          <td width="25%"><b>Incoming File Change</b></td>
81                          <td width="25%">Update</td>                          <td width="25%">Update</td>
82                          <td width="50%">Remote contents become local. Try with both Text and Binary files.</td>        <td width="50%">Remote contents become local. Try with both Text and
83     Binary files.</td>
84                  </tr>                  </tr>
85                  <tr>                  <tr>
86                          <td width="25%"><b>Incoming File Change</b></td>                          <td width="25%"><b>Incoming File Change</b></td>
87                          <td width="25%">Override and Commit</td>                          <td width="25%">Override and Commit</td>
88                          <td width="50%">Only in Both mode. Prompt for release comment. Cancel aborts, OK commits local file to server.</td>        <td width="50%">Only in Both mode. Prompt for release comment. Cancel
89     aborts, OK commits local file to server.</td>
90                  </tr>                  </tr>
91                  <tr>                  <tr>
92                          <td width="25%"><b>Incoming File Addition</b></td>                          <td width="25%"><b>Incoming File Addition</b></td>
93                          <td width="25%">Update</td>                          <td width="25%">Update</td>
94                          <td width="50%">Remote contents become local. Try with both Text and Binary files.</td>        <td width="50%">Remote contents become local. Try with both Text and
95     Binary files.</td>
96                  </tr>                  </tr>
97                  <tr>                  <tr>
98                          <td width="25%"><b>Incoming File Addition</b></td>                          <td width="25%"><b>Incoming File Addition</b></td>
99                          <td width="25%">Override and Commit</td>                          <td width="25%">Override and Commit</td>
100                          <td width="50%">Only in Both mode. Prompt for release comment. Cancel aborts, OK commits deletion to server.</td>        <td width="50%">Only in Both mode. Prompt for release comment. Cancel
101     aborts, OK commits deletion to server.</td>
102                  </tr>                  </tr>
103                  <tr>                  <tr>
104                          <td width="25%"><b>Incoming File Deletion</b></td>                          <td width="25%"><b>Incoming File Deletion</b></td>
# Line 109  Line 108 
108                  <tr>                  <tr>
109                          <td width="25%"><b>Incoming File Deletion</b></td>                          <td width="25%"><b>Incoming File Deletion</b></td>
110                          <td width="25%">Override and Commit</td>                          <td width="25%">Override and Commit</td>
111                          <td width="50%">Only in Both mode. Prompt for release comment. Cancel aborts, OK commits local file to server.</td>        <td width="50%">Only in Both mode. Prompt for release comment. Cancel
112     aborts, OK commits local file to server.</td>
113                  </tr>                  </tr>
114                  <tr>                  <tr>
115                          <td width="25%"><b>Outgoing File Change</b></td>                          <td width="25%"><b>Outgoing File Change</b></td>
116                          <td width="25%">Commit</td>                          <td width="25%">Commit</td>
117                          <td width="50%">Prompt for release comment. Cancel aborts, OK commits local file to server.</td>        <td width="50%">Prompt for release comment. Cancel aborts, OK commits
118     local file to server.</td>
119                  </tr>                  </tr>
120                  <tr>                  <tr>
121                          <td width="25%"><b>Outgoing File Change</b></td>                          <td width="25%"><b>Outgoing File Change</b></td>
122                          <td width="25%">Override and Update</td>                          <td width="25%">Override and Update</td>
123                          <td width="50%">Only in Both mode. Remote contents become local. Try with both Text and Binary files.</td>        <td width="50%">Only in Both mode. Remote contents become local. Try
124     with both Text and Binary files.</td>
125                  </tr>                  </tr>
126                  <tr>                  <tr>
127                          <td width="25%"><b>Outgoing File Addition</b></td>                          <td width="25%"><b>Outgoing File Addition</b></td>
128                          <td width="25%">Add to Version Control</td>                          <td width="25%">Add to Version Control</td>
129                          <td width="50%">Adds the file to version control. The icon should change in the sync view, and Commit should now be enabled.</td>        <td width="50%">Adds the file to version control. The icon should change
130     in the sync view, and Commit should now be enabled.</td>
131                  </tr>                  </tr>
132                  <tr>                  <tr>
133                          <td width="25%"><b>Outgoing File Addition</b></td>                          <td width="25%"><b>Outgoing File Addition</b></td>
134                          <td width="25%">Add to .cvsignore</td>                          <td width="25%">Add to .cvsignore</td>
135                          <td width="50%">Adds the file to .cvsignore. The file should disappear from the sync view. The .cvsignore file should appear (if it wasn't visible already). The file should not appear in subsequent syncs.</td>        <td width="50%">Adds the file to .cvsignore. The file should disappear
136     from the sync view. The .cvsignore file should appear (if it wasn't visible
137     already). The file should not appear in subsequent syncs.</td>
138                  </tr>                  </tr>
139                  <tr>                  <tr>
140                          <td width="25%"><b>Outgoing File Addition</b></td>                          <td width="25%"><b>Outgoing File Addition</b></td>
141                          <td width="25%">Commit</td>                          <td width="25%">Commit</td>
142                          <td width="50%">Commit is only enabled on an outgoing addition if it has first been added to version control. Prompt for release comment. Cancel aborts, OK commits local file to server.</td>        <td width="50%">Commit is only enabled on an outgoing addition if it
143     has first been added to version control. Prompt for release comment. Cancel
144     aborts, OK commits local file to server.</td>
145                  </tr>                  </tr>
146                  <tr>                  <tr>
147                          <td width="25%"><b>Outgoing File Addition</b></td>                          <td width="25%"><b>Outgoing File Addition</b></td>
# Line 144  Line 151 
151                  <tr>                  <tr>
152                          <td width="25%"><b>Outgoing File Deletion</b></td>                          <td width="25%"><b>Outgoing File Deletion</b></td>
153                          <td width="25%">Commit</td>                          <td width="25%">Commit</td>
154                          <td width="50%">Prompt for release comment. Cancel aborts, OK commits deletion to server.</td>        <td width="50%">Prompt for release comment. Cancel aborts, OK commits
155     deletion to server.</td>
156                  </tr>                  </tr>
157                  <tr>                  <tr>
158                          <td width="25%"><b>Outgoing File Deletion</b></td>                          <td width="25%"><b>Outgoing File Deletion</b></td>
159                          <td width="25%">Override and Update</td>                          <td width="25%">Override and Update</td>
160                          <td width="50%">Only in Both mode. File is re-created, remote contents become local.</td>        <td width="50%">Only in Both mode. File is re-created, remote contents
161     become local.</td>
162                  </tr>                  </tr>
163                  <tr>                  <tr>
164                          <td width="25%"><b>Conflicting File Change</b></td>                          <td width="25%"><b>Conflicting File Change</b></td>
165                          <td width="25%">Override and Commit</td>                          <td width="25%">Override and Commit</td>
166                          <td width="50%">Prompt for release comment. Cancel aborts, OK commits local file to server. Applies to both auto-mergeable and non-mergeable conflicts.</td>        <td width="50%">Prompt for release comment. Cancel aborts, OK commits
167     local file to server. Applies to both auto-mergeable and non-mergeable conflicts.</td>
168                  </tr>                  </tr>
169                  <tr>                  <tr>
170                          <td width="25%"><b>Auto-mergeable Conflicting File Change</b></td>                          <td width="25%"><b>Auto-mergeable Conflicting File Change</b></td>
171                          <td width="25%">Override and Update</td>                          <td width="25%">Override and Update</td>
172                          <td width="50%">Auto-mergeable conflicts have a two-way red/green arrow. Dialog prompts user to either auto-merge or replace. If user chooses auto-merge, then remote changes are merged in with local changes. File should still be dirty, local changes should still be present, CVS markup should not be present, and no .# files should have been created. If user chooses replace, then local changes are discarded and remote contents replace local. No .# files created, no CVS markup, and the file is not dirty as a result. If the user chooses cancel nothing happens.</td>        <td width="50%">Auto-mergeable conflicts have a two-way red/green arrow.
173     Dialog prompts user to either auto-merge or replace. If user chooses auto-merge,
174     then remote changes are merged in with local changes. File should still
175    be  dirty, local changes should still be present, CVS markup should not be
176    present,  and no .# files should have been created. If user chooses replace,
177    then local  changes are discarded and remote contents replace local. No .#
178    files created,  no CVS markup, and the file is not dirty as a result. If
179    the user chooses  cancel nothing happens.</td>
180                  </tr>                  </tr>
181                  <tr>                  <tr>
182                          <td width="25%"><b>Non-mergeable Conflicting File Change</b></td>                          <td width="25%"><b>Non-mergeable Conflicting File Change</b></td>
183                          <td width="25%">Override and Update</td>                          <td width="25%">Override and Update</td>
184                          <td width="50%">Dialog prompts user to replace local changes. If user cancels nothing happens. If user chooses OK, then local changes are discarded and remote contents replace local. No .# files created, no CVS markup, and the file is not dirty as a result.</td>        <td width="50%">Dialog prompts user to replace local changes. If user
185     cancels nothing happens. If user chooses OK, then local changes are discarded
186     and remote contents replace local. No .# files created, no CVS markup, and
187     the file is not dirty as a result.</td>
188                  </tr>                  </tr>
189                  <tr>                  <tr>
190                          <td width="25%"><b>Conflicting File Addition</b></td>                          <td width="25%"><b>Conflicting File Addition</b></td>
191                          <td width="25%">Add to Version Control</td>                          <td width="25%">Add to Version Control</td>
192                          <td width="50%">Adds the file to version control. The icon should change in the sync view, and Override and Commit should now be enabled.</td>        <td width="50%">Adds the file to version control. The icon should change
193     in the sync view, and Override and Commit should now be enabled.</td>
194                  </tr>                  </tr>
195                  <tr>                  <tr>
196                          <td width="25%"><b>Conflicting File Addition</b></td>                          <td width="25%"><b>Conflicting File Addition</b></td>
197                          <td width="25%">Override and Commit</td>                          <td width="25%">Override and Commit</td>
198                          <td width="50%">Override and Commit is only enabled on an outgoing addition if it has first been added to version control. Prompt to warn of conflicting changes. If OK, prompt for release comment. Cancel aborts either dialog. OK commits local file to server.</td>        <td width="50%">Override and Commit is only enabled on an outgoing addition
199    if it has first been added to version control. Prompt to warn of conflicting
200    changes. If OK, prompt for release comment. Cancel aborts either dialog.
201    OK commits local file to server.</td>
202                  </tr>                  </tr>
203                  <tr>                  <tr>
204                          <td width="25%"><b>Conflicting File Addition</b></td>                          <td width="25%"><b>Conflicting File Addition</b></td>
205                          <td width="25%">Override and Update</td>                          <td width="25%">Override and Update</td>
206                          <td width="50%">Remote contents become local.</td>                          <td width="50%">Remote contents become local.</td>
207                  </tr>                  </tr>
   
208          </tbody>          </tbody>
209  </table>  </table>
 <p/>  
   
210  <h2>Variations</h2>  <h2>Variations</h2>
211  <h3>Container Selection</h3>  <h3>Container Selection</h3>
212  <p>Normally, selecting a folder is the same as selecting all of the individual files underneath it. (The exception to this is if the folder itself is changed, such as a conflicting addition). Performing any of the above operations on a folder should behave as if the files underneath it were selected.</p>  <p>Normally, selecting a folder is the same as selecting all of the individual
213  <p>Note that if an action is not specified for a change type, it does not apply to that change type. This is important in container selection.</p>   files underneath it. (The exception to this is if the folder itself is changed,
214  <p>For example: Commit does not apply to conflicting changes. If you select a folder with an Outgoing Change and a Conflicting Change in it, Commit will apply to the Outgoing Change but not to the Conflicting Change.</p>   such as a conflicting addition). Performing any of the above operations
215    on  a folder should behave as if the files underneath it were selected.</p>
216    <p>Note that if an action is not specified for a change type, it does not
217     apply to that change type. This is important in container selection.</p>
218    <p>For example: Commit does not apply to conflicting changes. If you select
219     a folder with an Outgoing Change and a Conflicting Change in it, Commit
220    will  apply to the Outgoing Change but not to the Conflicting Change.</p>
221  <h3>Multi-Selection</h3>  <h3>Multi-Selection</h3>
222  <p>If multiple resources are selected, an action is enabled if it applies to any one or more of the selected resources. Choosing that action will apply the action only to those resources for which it is applicable.</p>  <p>If multiple resources are selected, an action is enabled if it applies
223  <p>For example: Commit does not apply to conflicting changes. Selecting an Outgoing Change and a Conflicting Change will result in Commit being enabled. Choosing Commit will apply to the Outgoing Change but not to the Conflicting Change.</p>   to any one or more of the selected resources. Choosing that action will
224  <p>Multi-Selection and Container Selection may be used in any combination with predictable results.</p>  apply  the action only to those resources for which it is applicable.</p>
225    <p>For example: Commit does not apply to conflicting changes. Selecting an
226     Outgoing Change and a Conflicting Change will result in Commit being enabled.
227     Choosing Commit will apply to the Outgoing Change but not to the Conflicting
228     Change.</p>
229    <p>Multi-Selection and Container Selection may be used in any combination
230     with predictable results.</p>
231  <h2>Specific Scenaria</h2>  <h2>Specific Scenaria</h2>
232  <h3>Making Manual Changes</h3>  <h3>Making Manual Changes</h3>
233  <p>Create a conflicting file change. Manually edit the left source pane in the sync view. Hit "Save" on the popup menu. The file should remain a Conflict; you should get a prompt telling you to Mark as Merged when finished. Choose Mark as Merged in the popup menu of the tree. The file should change to an outgoing change. Commit the outgoing change.</p>  <p>Create a conflicting file change. Manually edit the left source pane in
234     the sync view. Hit "Save" on the popup menu. The file should remain a Conflict;
235     you should get a prompt telling you to Mark as Merged when finished. Choose
236     Mark as Merged in the popup menu of the tree. The file should change to
237    an  outgoing change. Commit the outgoing change.</p>
238  <h3>Merging Conflicts</h3>  <h3>Merging Conflicts</h3>
239  <p>Try Override and Update with different combinations of Auto-Mergeable and Non-Mergeable conflicts in the selection. If all conflicts are Non-Mergeable, then the only choice is to replace with remote or cancel. If one or more conflicts are Auto-Mergeable, the choices are (a) Auto-Merge any applicable files, and replace the rest with remote, (b) Replace all files with remote or (c) Cancel.</p>  <p>Try Override and Update with different combinations of Auto-Mergeable
240    and Non-Mergeable conflicts in the selection. If all conflicts are Non-Mergeable,
241     then the only choice is to replace with remote or cancel. If one or more
242    conflicts are Auto-Mergeable, the choices are (a) Auto-Merge any applicable
243    files, and replace the rest with remote, (b) Replace all files with remote
244    or (c) Cancel.</p>
245  <h3>Removing from View</h3>  <h3>Removing from View</h3>
246  <p>Choose Remove from View. Selected nodes should disappear. Refresh the view. The nodes should reappear.</p>  <p>Choose Remove from View. Selected nodes should disappear. Refresh the
247    view. The nodes should reappear.</p>
248  <h3>Synchronize Outgoing Changes</h3>  <h3>Synchronize Outgoing Changes</h3>
249  <p>If you choose Synchronize Outgoing Changes from the navigator, the sync view should be populated with <b>only the Outgoing Changes and Conflicts</b>. This operation should be significantly faster in many cases. In this case, ensure that Refresh does not cause Incoming Changes to appear.</p>  <p>If you choose Synchronize Outgoing Changes from the navigator, the sync
250     view should be populated with <b>only the Outgoing Changes and Conflicts</b>
251      . This operation should be significantly faster in many cases. In this
252    case,  ensure that Refresh does not cause Incoming Changes to appear.</p>
253  <h3>Working with Branches</h3>  <h3>Working with Branches</h3>
254  <p>Try any and all of the above, but use a branch instead of HEAD. Behaviour should be identical. The sync view decorator should show you the name of the branch.</p>  <p>Try any and all of the above, but use a branch instead of HEAD. Behaviour
255     should be identical. The sync view decorator should show you the name of
256    the branch.</p>
257  <h3>Using Mixed Tags</h3>  <h3>Using Mixed Tags</h3>
258  <p>Using Team->Branch, Replace With->Branch or Version, and Team->Tag as Version, you can create a project which has different tags mixed into it. For example, one folder may be shared as V2_0, a single file may be attached to the branch NEW_FEATURE_BRANCH, and the root of the project may be attached to HEAD. We need to test usage of these projects in the sync view. For example, if developer 1 has project P shared with HEAD, and folder P/F is shared with branch B, have developer 2 release a change to folder F in HEAD, and have developer 1 perform a sync. In this case developer 1 should not see the incoming change.</p>  <p>Using Team-&gt;Branch, Replace With-&gt;Branch or Version, and Team-&gt;Tag
259     as Version, you can create a project which has different tags mixed into
260    it. For example, one folder may be shared as V2_0, a single file may be attached
261     to the branch NEW_FEATURE_BRANCH, and the root of the project may be attached
262     to HEAD. We need to test usage of these projects in the sync view. For example,
263     if developer 1 has project P shared with HEAD, and folder P/F is shared
264    with  branch B, have developer 2 release a change to folder F in HEAD, and
265    have  developer 1 perform a sync. In this case developer 1 should not see
266    the incoming  change.</p>
267  <h1>Section 3: Migration from 1.0 to 2.0</h1>  <h1>Section 3: Migration from 1.0 to 2.0</h1>
268  Both the below tests require a workspace created using 1.0 which contains  Both the below tests require a workspace created using 1.0 which contains
269  projects checked out from a CVS repository.<br>  projects checked out from a CVS repository.<br>
270  <h3>Migrating a workspace project created using 1.0 to 2.0</h3>  <h3>Migrating a workspace project created using 1.0 to 2.0</h3>
271  <ol>  <ol>
272    <li>Start Eclipse 2.0 on top of a workspace from 1.0</li>    <li>Start Eclipse 2.0 on top of a workspace from 1.0</li>
273    <li>Select a project that was shared with a CVS repository and chose    <li>Select a project that was shared with a CVS repository and chose Team/Share
274  Team/Share Project&#8230;</li>   Project&#8230;</li>
275    <li>Select the Repository location to share with or enter it if it does    <li>Select the Repository location to share with or enter it if it does
276  not appear in the list.</li>  not appear in the list.</li>
277    <li>Upon finish, the user will be prompted to select either HEAD or the    <li>Upon finish, the user will be prompted to select either HEAD or the
# Line 254  Line 308 
308  modes are correct<br>  modes are correct<br>
309    </li>    </li>
310  </ol>  </ol>
311    <h1>Section 4: Branching and Merging</h1>
312    <h2>Main branching scenario</h2>
313       Here's the main sequence of steps performed over the life cycle of a simple
314     branch.<br>
315    <ol>
316      <li>Load or create a shared project with shared content</li>
317      <li>Perform a Team/Branch...</li>
318      <li>Ensure that the tag on the local resources has been updated (either
319     using the CVS decorators or resource properties)</li>
320      <li>Make some changes to local resources and commit them (working in a branch
321    is similar to working in HEAD. See the Synchronize test plan for detaits).</li>
322      <li>Load HEAD</li>
323      <li>Optionaly, make some changes to HEAD (may or may not be committed)</li>
324      <li>Perform a Team/Merge... to merge the branch with HEAD. Merging is similar
325     to synchronizing but only incoming and conflicting changes are shown. See
326     the Synchronize test plan for detaits</li>
327    </ol>
328    <h2>Variations</h2>
329    <h3>Comparing branch, root version and HEAD</h3>
330       After any of the above steps that modify the local content or the remote
331     content, the success of the operation can ne validated by comparing the local
332     workspace copy with either HEAD, the branch or the root version specified
333     when creating the branch.
334    <h3>Branch with local changes</h3>
335       Before branching, make some local changes but do not commit them. Changes
336     can include additions and deletions. After branches ensure that the changes
337     are still there. On merging ensure that any created or deleted resources
338    appear properly in the merge editor.
339    <h3>Don't start working in the branch</h3>
340       When the branch is created, do not start working in the branch. Ensure
341    that  the workspace was not modified but that the branch and root version
342    exists  remotely (using Comapre With/Branch or Version...)
343    <h3>Branch on a folder or file</h3>
344       Branching can also be performed on a folder or file.
345    <h3>Merge from Head to a branch</h3>
346       Make some changes to a branch and to HEAD. Merge the changes from HEAD
347    into the branch before merging the branch with HEAD.
348  </body>  </body>
349  </html>  </html>

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4