CVS Testing on OSX for NB6.8

Test started: 2009-09-02
Test completed: 2009-09-05
Test result: GO

Results summary

Total: 54
Pass: 54
Pass with comments: 21
Fail: 0
Not Done: 0


  • When you check-out a file (any sticky check-out) it should make that file read-only
  • I think that 154083 should be corrected if possible, though for the most part all my other comments should be looked at and they can be dealt with then that would be great.
  • I feel comment 15 is important and should be dealt with if possible.

These tests were run with:

Product Version: NetBeans IDE Dev (Build 200908210201)
Java: 1.6.0_15; Java HotSpot(TM) 64-Bit Server VM 14.1-b02-90
System: Mac OS X version 10.6 running on x86_64; MacRoman; en_US (nb)
Userdir: /Users/bryan/.netbeans/dev

CVS Versions:

For local repository: Concurrent Versions System (CVS) 1.12.13 (client/server)
For remote repository: Concurrent Versions System (CVS) 1.11.22 (client/server)

Individual results

  • 1 = pass
  • 2 = pass with comments
  • 3 = fail
  • 0 = not done

Details of the test are in the Test Specification.

Test suite: 1. Setting up CVSRoot

Result Test Description Comments Link
2 1. CVS pserver connection 1 2
2 2. CVS ext 1 2 3 162882
2 3. CVS local 1 2
2 4. CVS fork 1 2
2 5. Change CVS root 1 2

  • #1 Allows no path, ie: :fork: or :pserver:user@host: allows clicking `next'.
  • #2 Allows more colons than allowed, ie: :local:/var/cvs:::
  • #3 (162882) If password is incorrect it seems to retry several times, this locks accounts set to lock after three attempts.
  • #4 `Browse' on `Module' field allows selecting the CVSROOT node, though clicking `OK' does not update the `Module' path field.
  • #5 `Browse' on `Branch' field allows selecting "HEAD", which is fine, though it updates the field to read "HEAD" which is redundant.
  • #6 If the destination folder is read-only the checkout fails with the error "$CO_PATH/$PROJ_NAME/CVS/Root (No such file or directory)".

Test suite: 2. Importing new project

Result Test Description Comments Link
2 1. Project import 7 8 16 162882, 254380

  • #7 (162882) Step 7: If the password is incorrect, it seems to continue to retry until the account is locked, tested with an account that locks after three (3) invalid password attempts
  • #8 (254380) If the folder to import is changed to a folder the user does not have read access to then an NPE is thrown.
  • #16 After import I sometimes need to exit the IDE to get the CVS actions to become enabled.

Test suite: 3. Standard development of project

Result Test Description Comments Link
1 1. "CVS" Tab
1 2. Update action
1 3. File modifying
2 4. File differences 10
2 5. Files differences 10
1 6. CVS tab action
1 7. Open file from "CVS" tab
2 8. Commit file 11 12 13
2 9. Creation of patch 14
2 10. Applying patch 14
1 11. Create conflict
1 12. Resolve conflict
2 13. Delete file 15 110660
1 14. Delete locally new file
2 15. Project Deletion 16
1 16. Exclude file from commit
1 17. Exclude from commit
1 18. Ignore file
1 19. Working with ignored file
1 20. Unignore file
1 21. Reverting modifications
1 22. Status and labels
1 23. Actions in Projects view
1 24. Refactoring

  • #10 Works as expected though the diff view could be improved. 1. Create a sample class and commit to CVS. 2. Add a new method to that class. Result: You see the last brace of the class is an "insertion" and the end brace of the new method is "unmodified". Expected Result: reverse of the resultant behavior.
  • #11 Editing the template file would be neat if it was done through the IDE, say a "Save to template" button next to the "Load from template" button.
  • #12 If an empty commit message was used it is added to the available history but the list entry is very small, this shouldn't be added to the history.
  • #14 Due to default settings in internal diff to ignore white-space you may end up with a patch that has incorrect indentation, consider the following empty class, if you add a method into this class you will get the formatting illustrated in the third example. This does not occur if you turn off "Ignore leading and trailing white space" in the diff preferences; or, when using external diff (diff (GNU diffutils) 2.8.1).
// Initial empty class in CVS.
public class NewClass {
// Added method `newMethod()'.
public class NewClass {
    void newMethod() {
# Produces patch.
 public class NewClass {
+    void newMethod() {
  • #15 (110660) File deletes and commits fine, however;
    1. Edit file then perform CVS > Diff and you get the error message "cvs update: conflict: `NewClass.java' is modified but no longer in the repository", status reads "Locally/Remotely Modified".

Test suite: 4. Working with Tags and Branches

Result Test Description Comments Link
1 1. Tag creation
1 2. Tag switch for avoiding tagging locally modified files
1 3. Tag switch for move existing tag
1 4. Tag deletion
1 5. Branch creation
1 6. Committing to branch
2 7. Multiple branches 17
1 8. Merge from branches

  • #17 A dangerous behavior can be observed if a user creates a branch for a portion of the project, then switches the whole project to that branch.
    1. Create a branch on a single file (say `Main.java'.
    2. Invoke `CVS > Switch to branch' on the project node.
    3. Select the branch entered in step (1).
  • You will find that the project appears empty except for the single file, observe the file-system and you will see everything under `nbproject' is also missing except the `private' folder.

Test suite: 5. Inspecting Sources

Result Test Description Comments Link
2 1. Annotations 18
2 2. Annotations actions 19 20
1 3. Search history
2 4. Summary functionality 21 154083
1 5. Summary actions
1 6. Find commit in "Project"
1 7. Find commit in Open Projects
2 8. Diff functionality 22
1 9. Diff actions
1 10. Diff arrows
1 11. Exploring revisions
2 12. Random search 23

  • #18 View annotations for a file, then insert a new line, then undo (APPLE+Z), this will remove the annotation from the line above where the new-line was inserted.
  • #19 Make several changes in a row to a file, committing each time with the same commit message; invoke `Find Commit in "Project"' action. You will notice the commit shows up for each of the commits but it should only show once (the version selected).
  • #20 Very minor, f rolling back to a previous version, showing annotations again will still show rolling back to that same version.
  • #21 (154083) AssertionError when selecting root node of history.
  • #22 Interface keeps resizing itself which causes the files list to get smaller on each click, this is very annoying.
  • #23 Search is case-sensitive, this would be great if it ignored case when searching comments.

Test suite: 6. CVS Options

Result Test Description Comments Link
1 1. Opening CVS Options
1 2. Status Label Format
1 3. Exclude New Files From Commit
2 4. Wrap Commit Messages 24

  • #24 It would be great if we could see this wrapping occurring in the commit dialog, what would be even better is if the dialog was a fixed width font and we could see a ruler margin just as we see in the editor.
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo