platform-vcm-home/2_1_testing.html
Parent Directory
|
Revision Log
Revision 1.4 - (view) (download) (as text)
| 1 : | mvalenta | 1.1 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| 2 : | <html> | ||
| 3 : | <head> | ||
| 4 : | |||
| 5 : | <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css"> | ||
| 6 : | <title>Team Testing Roadmap</title> | ||
| 7 : | |||
| 8 : | <meta name="author" content="OTI Employee"> | ||
| 9 : | |||
| 10 : | <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> | ||
| 11 : | </head> | ||
| 12 : | |||
| 13 : | <body> | ||
| 14 : | |||
| 15 : | jlemieux | 1.4 | <h1>Smoke Tests for the CVS Plugin</h1> |
| 16 : | <p>CVS Repositories View<br> | ||
| 17 : | CVS History View<br> | ||
| 18 : | Synchronize View<br> | ||
| 19 : | Branching/Merging<br> | ||
| 20 : | CVS QuickDiff provider<br> | ||
| 21 : | Concurrent Operations<br> | ||
| 22 : | Comparing<br> | ||
| 23 : | Patching<br> | ||
| 24 : | Decorators<br> | ||
| 25 : | Command-line compatibility<br> | ||
| 26 : | Watch/Edit<br> | ||
| 27 : | Restore from Repository<br> | ||
| 28 : | CVS Console<br> | ||
| 29 : | CVS Annotate View<br> | ||
| 30 : | Tagging<br> | ||
| 31 : | Keyword substitution<br> | ||
| 32 : | Ignoring Files<br> | ||
| 33 : | Connection Methods (ext, pserver, extssh)</p> | ||
| 34 : | mvalenta | 1.1 | <h1>Section 1: General CVS Tests</h1> |
| 35 : | jlemieux | 1.4 | <h2>CVS Annotate Command</h2> |
| 36 : | <ul> | ||
| 37 : | <li>Run the annotate command from each of the following changes: | ||
| 38 : | <ul> | ||
| 39 : | <li>CVS repositories view</li> | ||
| 40 : | <li>History View opened from repo view and navigator (from revisions)</li> | ||
| 41 : | <li>incoming/outgoing/conflicting changes in the sync view (particularly | ||
| 42 : | incoming additions and outgoing deletions) </li> | ||
| 43 : | </ul> | ||
| 44 : | </li> | ||
| 45 : | <li>When the annotate command is run, ensure that changes can be browsed from | ||
| 46 : | view and while browsing in the text editor.</li> | ||
| 47 : | </ul> | ||
| 48 : | mvalenta | 1.1 | |
| 49 : | <h2>CVS Repositories View</h2> | ||
| 50 : | |||
| 51 : | <h3>Adding and Discarding Locations</h3> | ||
| 52 : | These test require an existing repository which contains projects. | ||
| 53 : | <ol> | ||
| 54 : | <li>Add a location to the view.</li> | ||
| 55 : | <li>Ensure that invalid location information is handled properly in the New Location Wizard.</li> | ||
| 56 : | <li>View location properties page and ensure that information is correct and can be changed.</li> | ||
| 57 : | <li>Also change property values when local projects are shared with the location and ensure | ||
| 58 : | the project's sharing information is changed when the location's properties are changed. | ||
| 59 : | <li>Discard a location and ensure it is removed. Also ensure that discarding is not permitted when | ||
| 60 : | projects in the local workspace are shared with the location.</li> | ||
| 61 : | </ol> | ||
| 62 : | |||
| 63 : | <h3>Project Checkout</h3> | ||
| 64 : | These test require an existing repository which contains projects, at least one of which | ||
| 65 : | does not contain a .project file. Ensure that repeating each operation results in the proper overwrite prompting. | ||
| 66 : | <ol> | ||
| 67 : | <li>Perform "Checkout as Project" on a single project. Ensure that repeating results in overwrite prompt.</li> | ||
| 68 : | <li>Perform "Checkout as Project" on multiple projects.</li> | ||
| 69 : | <li>Perform "Checkout as..." on a single project (that contains a .project file) and enter custom name and/or custom location.</li> | ||
| 70 : | <li>Perform "Checkout as..." on a single remote project that does not have a .project file and | ||
| 71 : | ensure that the user is prompted for the project type to create.</li> | ||
| 72 : | <li>Perform "Checkout as..." on multipe projects and enter a custom parent location.</li> | ||
| 73 : | </ol> | ||
| 74 : | |||
| 75 : | <h3>Browsing Tags</h3> | ||
| 76 : | These test require an existing repository which contains projects that have been tagged with both | ||
| 77 : | version and branch tags. | ||
| 78 : | <h4>Refresh Branches and Versions</h4> | ||
| 79 : | <ol> | ||
| 80 : | <li>Select a repository location and perform "Refresh Branches and Versions...". | ||
| 81 : | <li>Select one or more projects that contain a .project file and have been tagged with branch and version tags and click finish.</li> | ||
| 82 : | <li>Expand the respository entry to view ... | ||
| 83 : | <ul> | ||
| 84 : | <li>projects in HEAD,</li> | ||
| 85 : | <li>branches and projects in BRANCHES,</li> | ||
| 86 : | <li>projects and versions in VERSIONS.</li> | ||
| 87 : | </ul> | ||
| 88 : | </ol> | ||
| 89 : | |||
| 90 : | <h4>Configure Branches and Versions</h4> | ||
| 91 : | <ol> | ||
| 92 : | <li>Select a project in the repositories view and perform "Configure Branches and Versions...". | ||
| 93 : | <li>Select some branch and version tags to be remembered.</li> | ||
| 94 : | <li>Expand the respository entry to view ... | ||
| 95 : | <ul> | ||
| 96 : | <li>projects in HEAD,</li> | ||
| 97 : | <li>branches and projects in BRANCHES,</li> | ||
| 98 : | <li>projects and versions in VERSIONS.</li> | ||
| 99 : | </ul> | ||
| 100 : | </ol> | ||
| 101 : | |||
| 102 : | <h3>Working with modules</h3> | ||
| 103 : | These tests require a CVSROOT/modules file on the server that contains valid module definitions. | ||
| 104 : | <ol> | ||
| 105 : | <li>Switch the Repositories View and ensure that the modules are displayed properly.</li> | ||
| 106 : | <li>Perform "Checkout as Module" and ensure that the module is checkout out properly. | ||
| 107 : | Also ensure that repeating results in overwrite prompt.</li> | ||
| 108 : | <li>Perform a "Configure Branches and Versions" on the module, set the autorefresh file and add some tags. | ||
| 109 : | Ensure that the module now appears properly in association with those tags.</li> | ||
| 110 : | </ol> | ||
| 111 : | |||
| 112 : | <h2>Project Sharing</h2> | ||
| 113 : | |||
| 114 : | <h3>Project sharing and disconnecting</h3> | ||
| 115 : | <ol> | ||
| 116 : | <li>Sharing with no CVS folders against existing project</li> | ||
| 117 : | <li>Sharing with CVS folders</li> | ||
| 118 : | <li>Sharing new project with no CVS folders</li> | ||
| 119 : | <li>Disconnect: keeping and deleting CVS folders, reconnecting (as above)</li> | ||
| 120 : | </ol> | ||
| 121 : | |||
| 122 : | <h3>Project sets</h3> | ||
| 123 : | <ol> | ||
| 124 : | <li>Create one, delete projects, load set and ensure got projects back</li> | ||
| 125 : | <li>Test against HEAD, project on branch/version.</li> | ||
| 126 : | </ol> | ||
| 127 : | |||
| 128 : | <h2>CVS workflow</h2> | ||
| 129 : | |||
| 130 : | <h3>Common workflows</h3> | ||
| 131 : | |||
| 132 : | To perform the tests properly, check out the same remote project into two local projects. | ||
| 133 : | |||
| 134 : | <ol> | ||
| 135 : | <li>Commit and Update with incomming, outgoing and conflicting changes and ensure proper behavior.</i> | ||
| 136 : | <li>Update/commit with very large files (> 8 meg)</li> | ||
| 137 : | <li>Replace with (latest, base, branch, version, revision)</li> | ||
| 138 : | <li>Compare with (latest, base, branch, version, revision)</li> | ||
| 139 : | <li>Ensure you are prompted for unsaved changes before performing a CVS action</li> | ||
| 140 : | <li>Tag as Version and ensure that remote is tagged properly.</li> | ||
| 141 : | <li>Tag as Version with dirty local resources and ensure proper prompting.</li> | ||
| 142 : | <li>Change ASCII/Binary Property on projects and resources and ensure proper behavior.</li> | ||
| 143 : | </ol> | ||
| 144 : | |||
| 145 : | <h3>Ignoring resources</h3> | ||
| 146 : | <ol> | ||
| 147 : | <li>Ignoring resources</li> | ||
| 148 : | <li>“Add to .cvsignore”</li> | ||
| 149 : | <li>Add to global ignore list, ensure its now ignored</li> | ||
| 150 : | </ol> | ||
| 151 : | |||
| 152 : | <h3>Global Actions</h3> | ||
| 153 : | Test the following CVS global actions in the CVS Repository Exploring perspective. | ||
| 154 : | <ol> | ||
| 155 : | <li>Synchronize All</li> | ||
| 156 : | <li>New Repository Location</li> | ||
| 157 : | </ol> | ||
| 158 : | |||
| 159 : | <h3>Decorators</h3> | ||
| 160 : | <ol> | ||
| 161 : | <li>Change all the options, apply, see them redraw correctly</li> | ||
| 162 : | <li>Add/remove items, ensure dirty markers update</li> | ||
| 163 : | <li>Add to version control and see decorator change</li> | ||
| 164 : | <li>Performance with large trees expanded</li> | ||
| 165 : | <li>Collapse large tree, exit workspace, restart (should not be as expensive | ||
| 166 : | as if tree had been left expanded)</li> | ||
| 167 : | mvalenta | 1.3 | <li>Close a decorated project and then open it to ensure good response.</li> |
| 168 : | <li>Checkout a project with decorators on to ensure good response.</li> | ||
| 169 : | mvalenta | 1.1 | </ol> |
| 170 : | |||
| 171 : | <h3>Patching</h3> | ||
| 172 : | Creating patches and then comparing with them. In particular, | ||
| 173 : | <ol> | ||
| 174 : | <li>added files</li> | ||
| 175 : | <li>deleted files</li> | ||
| 176 : | <li>added or deleted folders with added or deleted files in them</li> | ||
| 177 : | <li>binary files</li> | ||
| 178 : | </ol> | ||
| 179 : | |||
| 180 : | <h3>Watch/Edit</h3> | ||
| 181 : | <ol> | ||
| 182 : | <li>Turn on watch/edit in preferences (Team/CVS/Watch/Edit)</li> | ||
| 183 : | <li>Turn on the CVS decorators | ||
| 184 : | <li>Check out a project and ensure all files are read-only</li> | ||
| 185 : | <li>Open a file in an editor and start typing. Ensure that decorator an file changes and file is no longer read-only.</li> | ||
| 186 : | <li>Perform a Team/Show CVS Editors on the file and/or project.</li> | ||
| 187 : | <li>Perform a Team/Unedit on the file to ensure that file is returned to base contents and is read-only. | ||
| 188 : | (or perform a Team/Commit and ensure the file is returned to being read-only).</li> | ||
| 189 : | </ol> | ||
| 190 : | |||
| 191 : | <h3>Working with Modules</h3> | ||
| 192 : | These test require valid moduel definitions in the CVSROOT/modules file of the repository | ||
| 193 : | <ol> | ||
| 194 : | <li>Checkout a module and ensure success.</li> | ||
| 195 : | <li>Perform other CVS tests on the local project as if it were a regular project.</li> | ||
| 196 : | </ol> | ||
| 197 : | |||
| 198 : | <h3>Misc</h3> | ||
| 199 : | <ol> | ||
| 200 : | <li>Mixing tags within a project.</li> | ||
| 201 : | <li>Properties pages for projects, folders and files.</li> | ||
| 202 : | <li>CVS Console: ensure written to</li> | ||
| 203 : | <li>Check canceling everywhere there's a progress monitor</li> | ||
| 204 : | <li>Does it cancel in reasonable time?</li> | ||
| 205 : | <li>Is the workspace in an ok state after?</li> | ||
| 206 : | <li>Compression switches, ensure data transfered ok (commit, update)</li> | ||
| 207 : | </ol> | ||
| 208 : | |||
| 209 : | <h1>Section 2: CVS Synchronize View</h1> | ||
| 210 : | <table height="124" border="1" width="99%"> | ||
| 211 : | <tbody> | ||
| 212 : | <tr> | ||
| 213 : | <td width="25%"><b>Change Type</b></td> | ||
| 214 : | <td width="25%"><b>Action</b></td> | ||
| 215 : | <td width="50%"><b>Result</b></td> | ||
| 216 : | </tr> | ||
| 217 : | <tr> | ||
| 218 : | <td width="25%"><b>Incoming File Change</b></td> | ||
| 219 : | <td width="25%">Update</td> | ||
| 220 : | <td width="50%">Remote contents become local. Try with both Text and | ||
| 221 : | Binary files.</td> | ||
| 222 : | </tr> | ||
| 223 : | <tr> | ||
| 224 : | <td width="25%"><b>Incoming File Change</b></td> | ||
| 225 : | <td width="25%">Override and Commit</td> | ||
| 226 : | <td width="50%">Only in Both mode. Prompt for release comment. Cancel | ||
| 227 : | aborts, OK commits local file to server.</td> | ||
| 228 : | </tr> | ||
| 229 : | <tr> | ||
| 230 : | <td width="25%"><b>Incoming File Addition</b></td> | ||
| 231 : | <td width="25%">Update</td> | ||
| 232 : | <td width="50%">Remote contents become local. Try with both Text and | ||
| 233 : | Binary files.</td> | ||
| 234 : | </tr> | ||
| 235 : | <tr> | ||
| 236 : | <td width="25%"><b>Incoming File Addition</b></td> | ||
| 237 : | <td width="25%">Override and Commit</td> | ||
| 238 : | <td width="50%">Only in Both mode. Prompt for release comment. Cancel | ||
| 239 : | aborts, OK commits deletion to server.</td> | ||
| 240 : | </tr> | ||
| 241 : | <tr> | ||
| 242 : | <td width="25%"><b>Incoming File Deletion</b></td> | ||
| 243 : | <td width="25%">Update</td> | ||
| 244 : | <td width="50%">Local file is deleted.</td> | ||
| 245 : | </tr> | ||
| 246 : | <tr> | ||
| 247 : | <td width="25%"><b>Incoming File Deletion</b></td> | ||
| 248 : | <td width="25%">Override and Commit</td> | ||
| 249 : | <td width="50%">Only in Both mode. Prompt for release comment. Cancel | ||
| 250 : | aborts, OK commits local file to server.</td> | ||
| 251 : | </tr> | ||
| 252 : | <tr> | ||
| 253 : | <td width="25%"><b>Outgoing File Change</b></td> | ||
| 254 : | <td width="25%">Commit</td> | ||
| 255 : | <td width="50%">Prompt for release comment. Cancel aborts, OK commits | ||
| 256 : | local file to server.</td> | ||
| 257 : | </tr> | ||
| 258 : | <tr> | ||
| 259 : | <td width="25%"><b>Outgoing File Change</b></td> | ||
| 260 : | <td width="25%">Override and Update</td> | ||
| 261 : | <td width="50%">Only in Both mode. Remote contents become local. Try | ||
| 262 : | with both Text and Binary files.</td> | ||
| 263 : | </tr> | ||
| 264 : | <tr> | ||
| 265 : | <td width="25%"><b>Outgoing File Addition</b></td> | ||
| 266 : | <td width="25%">Add to Version Control</td> | ||
| 267 : | <td width="50%">Adds the file to version control. The icon should change | ||
| 268 : | in the sync view, and Commit should now be enabled.</td> | ||
| 269 : | </tr> | ||
| 270 : | <tr> | ||
| 271 : | <td width="25%"><b>Outgoing File Addition</b></td> | ||
| 272 : | <td width="25%">Add to .cvsignore</td> | ||
| 273 : | <td width="50%">Adds the file to .cvsignore. The file should disappear | ||
| 274 : | from the sync view. The .cvsignore file should appear (if it wasn't visible | ||
| 275 : | already). The file should not appear in subsequent syncs.</td> | ||
| 276 : | </tr> | ||
| 277 : | <tr> | ||
| 278 : | <td width="25%"><b>Outgoing File Addition</b></td> | ||
| 279 : | <td width="25%">Commit</td> | ||
| 280 : | <td width="50%">Commit is only enabled on an outgoing addition if it | ||
| 281 : | has first been added to version control. Prompt for release comment. Cancel | ||
| 282 : | aborts, OK commits local file to server.</td> | ||
| 283 : | </tr> | ||
| 284 : | <tr> | ||
| 285 : | <td width="25%"><b>Outgoing File Addition</b></td> | ||
| 286 : | <td width="25%">Override and Update</td> | ||
| 287 : | <td width="50%">Only in Both mode. Local file is deleted.</td> | ||
| 288 : | </tr> | ||
| 289 : | <tr> | ||
| 290 : | <td width="25%"><b>Outgoing File Deletion</b></td> | ||
| 291 : | <td width="25%">Commit</td> | ||
| 292 : | <td width="50%">Prompt for release comment. Cancel aborts, OK commits | ||
| 293 : | deletion to server.</td> | ||
| 294 : | </tr> | ||
| 295 : | <tr> | ||
| 296 : | <td width="25%"><b>Outgoing File Deletion</b></td> | ||
| 297 : | <td width="25%">Override and Update</td> | ||
| 298 : | <td width="50%">Only in Both mode. File is re-created, remote contents | ||
| 299 : | become local.</td> | ||
| 300 : | </tr> | ||
| 301 : | <tr> | ||
| 302 : | <td width="25%"><b>Conflicting File Change</b></td> | ||
| 303 : | <td width="25%">Override and Commit</td> | ||
| 304 : | <td width="50%">Prompt for release comment. Cancel aborts, OK commits | ||
| 305 : | local file to server. Applies to both auto-mergeable and non-mergeable conflicts.</td> | ||
| 306 : | </tr> | ||
| 307 : | <tr> | ||
| 308 : | <td width="25%"><b>Auto-mergeable Conflicting File Change</b></td> | ||
| 309 : | <td width="25%">Override and Update</td> | ||
| 310 : | <td width="50%">Auto-mergeable conflicts have a two-way red/green arrow. | ||
| 311 : | Dialog prompts user to either auto-merge or replace. If user chooses auto-merge, | ||
| 312 : | then remote changes are merged in with local changes. File should still | ||
| 313 : | be dirty, local changes should still be present, CVS markup should not be | ||
| 314 : | present, and no .# files should have been created. If user chooses replace, | ||
| 315 : | then local changes are discarded and remote contents replace local. No .# | ||
| 316 : | files created, no CVS markup, and the file is not dirty as a result. If | ||
| 317 : | the user chooses cancel nothing happens.</td> | ||
| 318 : | </tr> | ||
| 319 : | <tr> | ||
| 320 : | <td width="25%"><b>Non-mergeable Conflicting File Change</b></td> | ||
| 321 : | <td width="25%">Override and Update</td> | ||
| 322 : | <td width="50%">Dialog prompts user to replace local changes. If user | ||
| 323 : | cancels nothing happens. If user chooses OK, then local changes are discarded | ||
| 324 : | and remote contents replace local. No .# files created, no CVS markup, and | ||
| 325 : | the file is not dirty as a result.</td> | ||
| 326 : | </tr> | ||
| 327 : | <tr> | ||
| 328 : | <td width="25%"><b>Conflicting File Addition</b></td> | ||
| 329 : | <td width="25%">Add to Version Control</td> | ||
| 330 : | <td width="50%">Adds the file to version control. The icon should change | ||
| 331 : | in the sync view, and Override and Commit should now be enabled.</td> | ||
| 332 : | </tr> | ||
| 333 : | <tr> | ||
| 334 : | <td width="25%"><b>Conflicting File Addition</b></td> | ||
| 335 : | <td width="25%">Override and Commit</td> | ||
| 336 : | <td width="50%">Override and Commit is only enabled on an outgoing addition | ||
| 337 : | if it has first been added to version control. Prompt to warn of conflicting | ||
| 338 : | changes. If OK, prompt for release comment. Cancel aborts either dialog. | ||
| 339 : | OK commits local file to server.</td> | ||
| 340 : | </tr> | ||
| 341 : | <tr> | ||
| 342 : | <td width="25%"><b>Conflicting File Addition</b></td> | ||
| 343 : | <td width="25%">Override and Update</td> | ||
| 344 : | <td width="50%">Remote contents become local.</td> | ||
| 345 : | </tr> | ||
| 346 : | </tbody> | ||
| 347 : | </table> | ||
| 348 : | <h2>Variations</h2> | ||
| 349 : | <h3>Container Selection</h3> | ||
| 350 : | <p>Normally, selecting a folder is the same as selecting all of the individual | ||
| 351 : | files underneath it. (The exception to this is if the folder itself is changed, | ||
| 352 : | such as a conflicting addition). Performing any of the above operations | ||
| 353 : | on a folder should behave as if the files underneath it were selected.</p> | ||
| 354 : | <p>Note that if an action is not specified for a change type, it does not | ||
| 355 : | apply to that change type. This is important in container selection.</p> | ||
| 356 : | <p>For example: Commit does not apply to conflicting changes. If you select | ||
| 357 : | a folder with an Outgoing Change and a Conflicting Change in it, Commit | ||
| 358 : | will apply to the Outgoing Change but not to the Conflicting Change.</p> | ||
| 359 : | <h3>Multi-Selection</h3> | ||
| 360 : | <p>If multiple resources are selected, an action is enabled if it applies | ||
| 361 : | to any one or more of the selected resources. Choosing that action will | ||
| 362 : | apply the action only to those resources for which it is applicable.</p> | ||
| 363 : | <p>For example: Commit does not apply to conflicting changes. Selecting an | ||
| 364 : | Outgoing Change and a Conflicting Change will result in Commit being enabled. | ||
| 365 : | Choosing Commit will apply to the Outgoing Change but not to the Conflicting | ||
| 366 : | Change.</p> | ||
| 367 : | <p>Multi-Selection and Container Selection may be used in any combination | ||
| 368 : | with predictable results.</p> | ||
| 369 : | <h2>Specific Scenaria</h2> | ||
| 370 : | <h3>Making Manual Changes</h3> | ||
| 371 : | <p>Create a conflicting file change. Manually edit the left source pane in | ||
| 372 : | the sync view. Hit "Save" on the popup menu. The file should remain a Conflict; | ||
| 373 : | you should get a prompt telling you to Mark as Merged when finished. Choose | ||
| 374 : | Mark as Merged in the popup menu of the tree. The file should change to | ||
| 375 : | an outgoing change. Commit the outgoing change.</p> | ||
| 376 : | <h3>Merging Conflicts</h3> | ||
| 377 : | <p>Try Override and Update with different combinations of Auto-Mergeable | ||
| 378 : | and Non-Mergeable conflicts in the selection. If all conflicts are Non-Mergeable, | ||
| 379 : | then the only choice is to replace with remote or cancel. If one or more | ||
| 380 : | conflicts are Auto-Mergeable, the choices are (a) Auto-Merge any applicable | ||
| 381 : | files, and replace the rest with remote, (b) Replace all files with remote | ||
| 382 : | or (c) Cancel.</p> | ||
| 383 : | <h3>Removing from View</h3> | ||
| 384 : | <p>Choose Remove from View. Selected nodes should disappear. Refresh the | ||
| 385 : | view. The nodes should reappear.</p> | ||
| 386 : | <h3>Synchronize Outgoing Changes</h3> | ||
| 387 : | <p>If you choose Synchronize Outgoing Changes from the navigator, the sync | ||
| 388 : | view should be populated with <b>only the Outgoing Changes and Conflicts</b> | ||
| 389 : | . This operation should be significantly faster in many cases. In this | ||
| 390 : | case, ensure that Refresh does not cause Incoming Changes to appear.</p> | ||
| 391 : | <h3>Working with Branches</h3> | ||
| 392 : | <p>Try any and all of the above, but use a branch instead of HEAD. Behaviour | ||
| 393 : | should be identical. The sync view decorator should show you the name of | ||
| 394 : | the branch.</p> | ||
| 395 : | <h3>Using Mixed Tags</h3> | ||
| 396 : | <p>Using Team->Branch, Replace With->Branch or Version, and Team->Tag | ||
| 397 : | as Version, you can create a project which has different tags mixed into | ||
| 398 : | it. For example, one folder may be shared as V2_0, a single file may be attached | ||
| 399 : | to the branch NEW_FEATURE_BRANCH, and the root of the project may be attached | ||
| 400 : | to HEAD. We need to test usage of these projects in the sync view. For example, | ||
| 401 : | if developer 1 has project P shared with HEAD, and folder P/F is shared | ||
| 402 : | with branch B, have developer 2 release a change to folder F in HEAD, and | ||
| 403 : | have developer 1 perform a sync. In this case developer 1 should not see | ||
| 404 : | the incoming change.</p> | ||
| 405 : | |||
| 406 : | <h1>Section 4: Branching and Merging</h1> | ||
| 407 : | <h2>Main branching scenario</h2> | ||
| 408 : | Here's the main sequence of steps performed over the life cycle of a simple | ||
| 409 : | branch.<br> | ||
| 410 : | <ol> | ||
| 411 : | <li>Load or create a shared project with shared content</li> | ||
| 412 : | <li>Perform a Team/Branch...</li> | ||
| 413 : | <li>Ensure that the tag on the local resources has been updated (either | ||
| 414 : | using the CVS decorators or resource properties)</li> | ||
| 415 : | <li>Make some changes to local resources and commit them (working in a branch | ||
| 416 : | is similar to working in HEAD. See the Synchronize test plan for detaits).</li> | ||
| 417 : | <li>Load HEAD</li> | ||
| 418 : | <li>Optionaly, make some changes to HEAD (may or may not be committed)</li> | ||
| 419 : | <li>Perform a Team/Merge... to merge the branch with HEAD. Merging is similar | ||
| 420 : | to synchronizing but only incoming and conflicting changes are shown. See | ||
| 421 : | the Synchronize test plan for detaits</li> | ||
| 422 : | </ol> | ||
| 423 : | <h2>Variations</h2> | ||
| 424 : | <h3>Comparing branch, root version and HEAD</h3> | ||
| 425 : | After any of the above steps that modify the local content or the remote | ||
| 426 : | content, the success of the operation can ne validated by comparing the local | ||
| 427 : | workspace copy with either HEAD, the branch or the root version specified | ||
| 428 : | when creating the branch. | ||
| 429 : | <h3>Branch with local changes</h3> | ||
| 430 : | Before branching, make some local changes but do not commit them. Changes | ||
| 431 : | can include additions and deletions. After branches ensure that the changes | ||
| 432 : | are still there. On merging ensure that any created or deleted resources | ||
| 433 : | appear properly in the merge editor. | ||
| 434 : | <h3>Don't start working in the branch</h3> | ||
| 435 : | When the branch is created, do not start working in the branch. Ensure | ||
| 436 : | that the workspace was not modified but that the branch and root version | ||
| 437 : | exists remotely (using Comapre With/Branch or Version...) | ||
| 438 : | <h3>Branch on a folder or file</h3> | ||
| 439 : | Branching can also be performed on a folder or file. | ||
| 440 : | <h3>Merge from Head to a branch</h3> | ||
| 441 : | Make some changes to a branch and to HEAD. Merge the changes from HEAD | ||
| 442 : | into the branch before merging the branch with HEAD. | ||
| 443 : | mvalenta | 1.2 | |
| 444 : | |||
| 445 : | <h1>Section 3: Migration from 2.0 to 2.1</h1> | ||
| 446 : | The below tests require a workspace created using 2.0 which contains | ||
| 447 : | projects checked out from a CVS repository.<br> | ||
| 448 : | <h3>Migrating a workspace project created using 2.0 to 2.1</h3> | ||
| 449 : | <ol> | ||
| 450 : | <li>Start Eclipse 2.1 on top of a workspace from 2.0</li> | ||
| 451 : | <li>Select a project that was shared with a CVS repository and chose Team/Share | ||
| 452 : | Project…</li> | ||
| 453 : | <li>Select the Repository location to share with or enter it if it does | ||
| 454 : | not appear in the list.</li> | ||
| 455 : | <li>Upon finish, the user will be prompted to select either HEAD or the | ||
| 456 : | branch to compare against. </li> | ||
| 457 : | <li>The Synchronize view will then be opened and all files will appear | ||
| 458 : | as incoming, outgoing or conflicting additions.</li> | ||
| 459 : | <li>To see the real conflicts, enable “Compare File Contents” available | ||
| 460 : | from the drop down menu in the title bar of the Synchronize View.</li> | ||
| 461 : | <li>Resolve the real incoming, outgoing additions and conflicts as | ||
| 462 : | appropriate (see sync view test plan for a description of sync state resolution)</li> | ||
| 463 : | <li>When all conflicts are resolved, disable “Compare File Contents” and | ||
| 464 : | perform an “Override and Update” on the remaining conflicting additions to | ||
| 465 : | update the sync info of the local resources.</li> | ||
| 466 : | <li>Ensure local copy contains the proper contents (can use Compare With/Latest | ||
| 467 : | from Repository)<br> | ||
| 468 : | </li> | ||
| 469 : | </ol> | ||
| 470 : | |||
| 471 : | mvalenta | 1.1 | </body> |
| 472 : | </html> |
| help@eclipse.org | ViewVC Help |
| Powered by ViewVC 1.0.3 |
