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.
Currently the version check checks for 0.9.3. We can take an optimistic approach: check dotted version (ie. 0.9.3) and only refuse executables that report lower version. Treat higher and unrecognized as supported.
If it's less than 0.9.3: Tell user in a popup that the version is unsupported, Mercurial support is disabled and to enable it they must install 0.9.3. Persist this notification and perhaps set the Mercurial submenu to have just one "unsupported" entry. Better solution would be to not show the Mercurial menu at all, but unsure at preset how to do this. If it's == 0.9.3: Good to go :) If it's > than 0.9.3: Tell user in a popup that the version is unsupported, 0.9.3 is the only supported version, but this version may work. Persist this notification. Mercurial menu is enabled but actions may have unpredictable results. To support the persistence even though we are not yet supporting Mecurial Properties we could setup a HgSettings.java class with serialization support. For now it's only getter/setter would be the boolean versionNotificationRun.
I am not sure how we can distinguish between a version which is less than 0.9.3 and a version which is greater than 0.9.3. I have prepared a patch It checks whether the version found is the same as the version we tested against. If not, a dialog is presented. If the user wishes to proceed the version is stored in preferences so it persists. I have noticed that Mercurial is initialized twice during startup so that if the user answer no in the dialog the question is asked again. To test this either use a version of mercurial different from 0.9.3 or change MERCURIAL_GOOD_VERSION to 0.9.2.
Created attachment 42140 [details] proposed patch
Patch committed