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.
[dev nov 8] The UG page on updating the parser DB mentions that you only need to manually update the DB for a given filesystem once, after which it will be updated automatically whenever you parse or save a file. However I think this needs to be qualified: if sources are changed externally (e.g. if you update new files from a team versioning server), such changes are not automatically added to the DB, you must run DB update again to find them. (Editor folks, please confirm this is correct.)
Parser DB is updated: - if source has been modified and saved after that. And the source has been successfuly parsed. (There are no compile errors on this source) As for external modifications: -if you are performing Copy/Paste action in explorer, new sources are added to parser DB -Cut/Paste - new sources are added to parser DB (cutted sources aren't removed from parser DB, as described in the bug: http://www.netbeans.org/issues/show_bug.cgi?id=16612 I have already bugfix for this bug, but it should be tested by our QA before I will commit it. Jesse, thank you again for your OperationListener hint) -Rename -renamed source is added, old is not deleted. -Creating a new source via wizard - added to parser DB -external modification via external editor (or CVS) - the changes are NOT added to parser DB. (their are added only after some modification and the saving of this source) Now I use DataObject.getRegistry().addChangeListener ... and DataObject.getRegistry().getModified(); Unfortunately, it seems that external modifications aren't processed via this. But if NetBeans is not running and user will modify the sources, how can I know which sources he modified when I will run a new session of NetBeans?
Martin- I would hardly expect external changes to be picked up automatically without using the MDR module. I just filed this issue to make sure the real behavior and known limitations are documented clearly.
> But if NetBeans is not running and user will modify the sources, > how can I know which sources he modified when I will run a new > session of NetBeans? Just an idea: imagine you would store in the ParserDB timestamps of all files (or classes). I don't know how much time consuming operation it could be, but you might compare timestamps of the files in filesystem with the ones in your DB in some background low priority thread. Or just check the class timestamp when it is evaluated for some members. The check would be done only once (for each class) after startup of IDE. When IDE is running and some external change is done (I mean in sources which are mounted), then you can be notified about that and do the refresh immediatelly, rigth?
Jesse, I just thought, that you maybe give me another cool hint. ;-) David, I would expect this behaviour in java module. And after IDE startup, when all mounted sources are parsed, some fileModificationEvent should be fired...
Sounds like a major performance drain... this is the kind of thing mdr is supposed to do for you. Anyway, this issue is a simple docs update request, if you want to continue the discussion probably nbdev is the place for it.
Target milestone -> 3.3.1.
Online help fixed and committed into trunk on Nov. 28 (8:45 PM PST). Should be fixed in Nov 29 or Nov. 30 build.
Resolved for 3.3.x or earlier, no new info since then -> closing.
Resolved for 3.4.x or earlier, no new info since then -> closing.