This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
I'm using NB (release41) build 200504101930 and I found out if I delete a class that is in CVS then I cannot update that class only. In previous releases (3.6 and 4.0) if you deleted (keyboard DELETE key not CVS delete action) a class then the class reappeared as a node with CVS status Need Update. But In the mentioned release I cannot see that.
Yes, this is a regression somewhere. It worked and it ought to work. Caused by code outside of VCS modules, searching for the reason why it broke...
This regression is caused by the fix of issue #56995: /cvs/openide/masterfs/src/org/netbeans/modules/masterfs/MasterFileObject.java,v new revision: 1.41; previous revision: 1.40 Unfortunately, the change does not handle invalid FileObjects correctly: Here is what happens after a versined file is deleted: eventFileToMasterFileObject(org.openide.filesystems.FileEvent[source=AbstractFileObject@1cc65b1[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/Main_5.java]][file=AbstractFileObject@1cc65b1[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/Main_5.java],time=1113237141783,expected=false]) file is virtual = true, is valid = false return MasterFileObject@26ea08[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/Main_5.java], is virtual = true, is valid = false HACK: dFile = MasterFileObject@26ea08[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/Main_5.java] eventFileToMasterFileObject(org.openide.filesystems.FileEvent[source=AbstractFileObject@1716fcd[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/]][file=AbstractFileObject@1cc65b1[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/Main_5.java],time=1113237141783,expected=false]) file is virtual = true, is valid = false return MasterFileObject@26ea08[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/Main_5.java], is virtual = true, is valid = false fileDeleted(MasterFileObject@26ea08[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/Main_5.java]): org.openide.filesystems.FileEvent[source=MasterFileObject@1d871ab[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/]][file=MasterFileObject@26ea08[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/Main_5.java],time=1113237141846,expected=false] HACK: dFile = MasterFileObject@26ea08[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/Main_5.java] eventFileToMasterFileObject(org.openide.filesystems.FileEvent[source=AbstractFileObject@1716fcd[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/]][file=AbstractFileObject@16aee91[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/Main_5.java],time=1113237142603,expected=false]) file is virtual = true, is valid = true return MasterFileObject@26ea08[file:/home.local/martin/NETBEANS/TEST/CVS_WORK_LOCAL1/testAdd/JavaApplication4/src/javaapplication4/Main_5.java], is virtual = true, is valid = false The problem is in the last call, where for a new valid AFO (which was created after the old deleted file was invalidated), we get an invalid MFO. It needs to be modified to handle invalid files correctly. Will attach a new patch....
Created attachment 21555 [details] The textual patch.
The attached patch is trivial and should be safe. Added check for FileObject validity so that it's assured that we do not get invalid MFO for valid AFO. The fix should go into 4.1, adding appropriate keyword.
/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/MasterFileObject.java new revision: 1.42; previous revision: 1.41
The diff reviewed, the change is safe. I've verified that it solves the problem.
/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/MasterFileObject.java new revision: 1.41.2.1; previous revision: 1.41
Fixed into release41.