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.
Summary: | CVS plugin locks files, causing external CVS operations to fail | ||
---|---|---|---|
Product: | versioncontrol | Reporter: | netacq_server |
Component: | Mercurial | Assignee: | Tomas Stupka <tstupka> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | ||
Priority: | P2 | ||
Version: | 7.0 | ||
Hardware: | PC | ||
OS: | Windows 7 x64 | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: | messages.log file |
Description
netacq_server
2011-05-25 16:03:18 UTC
could it be that your cvs workspace is under a folder managed by mercurial? (In reply to comment #1) > could it be that your cvs workspace is under a folder managed by mercurial? No, we do not use mercurial. Our firm uses only CVS. The mercurial NetBeans plugin was populated with whatever defaults occur after installing NetBeans. I.e., no executbale path to mercurial exists. don't get me wrong, asking just in case, but could it still be possible that you have the mercurial commandline client installed? as long it is on $path then the executable doesn't have to be specified. the mercurial plugin is accessing files over the commandline client, but that should happen only in case that those files are considered a part of a mercurial repository, speak they have a parent folder which contains the ".hg" metadata folder. Could you check if there isn't by chance one on your disk? there are also some r/o io.File operations like .listFiles(), .exists() etc. done by the plugin but that should happen only once and for a very short time for an filesystem area. to find out more about what's going on: 1) start netbeans with the following switches -J-Dorg.netbeans.modules.versioning.level=-1 -J-Dorg.netbeans.modules.mercurial.level=-1 -J-Dorg.netbeans.modules.mercurial.fileStatusCacheNewGeneration.level=-1 2) try to reproduce your scenario 3) and then attach your messages.log file ($usedir/var/log/messages.log) to this issue thanks Created attachment 108509 [details]
messages.log file
Attached log shows NetBeans with mercurial activated. I opened NetBeans, ran a CVS update (via WinCVS) on a workspace that was not part of any project open in NetBeans, which exited partway through with: "cvs [update aborted]: cannot rename file CVS/Entries.Backup to CVS/Entries: Permission denied", and then closed NetBeans. The attachment is the resulting log from open to close of NetBeans.
> ran a CVS update (via WinCVS)
Does it happen when you run CVS->Update inside NetBeans (not externally)?
And one more thing, could you run the IDE with -J-Dorg.netbeans.modules.masterfs.watcher.disable=true and try the same again? I don't think it has anything to do with mercurial. Mercurial does not access/read CVS metadata only occasionally calls java.io.File.exists/canRead/listFiles - i doubt these calls can block the external CVS client. Nevertheless keep mercurial disabled for a while and let us know if the problem reappears. If it does than it is not caused by mercurial support. I think the problem is in the CVS support in NetBeans. The support is notified about a file's modification (during the update operation) and tries to get information about the changed files by reading data directly from CVS/Entries and thus blocking the external client from deleting/replacing the metadata file. Please, try the switch (Comment #6) and report back the result. (In reply to comment #5) > > ran a CVS update (via WinCVS) > Does it happen when you run CVS->Update inside NetBeans (not externally)? I've never been able to get NetBeans to communicate with our repository, or at least it doesn't appear to in any reasonable manner. Is there any recent documentation on configuring and using the CVS plugin? Much of what I've found doesn't seem to apply to recent NetBeans versions. > Is there any recent documentation on configuring and using the CVS plugin?
Nothing has changed in the CVS support or its docs for the two last releases, so i guess not.
In that case, if you do not use CVS support in the IDE, then disable that plugin instead of Mercurial and monitor the problem on.
(In reply to comment #9) > > Is there any recent documentation on configuring and using the CVS plugin? > Nothing has changed in the CVS support or its docs for the two last releases, > so i guess not. > > In that case, if you do not use CVS support in the IDE, then disable that > plugin instead of Mercurial and monitor the problem on. I'll disable CVS and continue. I haven't seen any problems yet today. Can you point me at a good documentation source for using/configuring CVS in NetBeans? > Can you point me at a good documentation source for using/configuring CVS in NetBeans? http://netbeans.org/kb/docs/ide/cvs.html Just open a project from your CVS checkout, run Team -> CVS -> Update and fill in connection data. *** This bug has been marked as a duplicate of bug 198455 *** |