Community
Participate
Working Groups
I'm not sure if this is the right place to report this or not, please redirect if this is the case. I work on a large Eclipse-based project which includes SVN support as an optional feature - the product has its own source control system though. I occasionally get prompted with a dialog encouraging me to install SVN connectors. I don't use SVN and I don't know what an SVN connector is.. so to me and many other users the dialog is just random noise that I would like to suppress. Can we not prompt by default? Perhaps make it opt-in for products that are SVN-centric and want this?
I'm actually blocked by this dialog. It seems it is stuck trying to fetch the list of connectors -- I've tried cancelling the operation, but it remains. If I try to close the dialog, another dialog says I must cancel the operation first. If I kill eclipse and restart it, this discovery just comes back up.
Curtis, please review a set of Subversive plug-ins in your Eclipse installation. I suppose that you have "Subversion Integration for the Mylyn Project" plug-in installed. If this plug-in is installed, Mylyn tries to access Subversive at start and it causes prompt for connectors installation. If Subversive is an optional feature for your Eclipse distrubution, don't install "Subversion Integration for the Mylyn Project" plug-in. In this case you will get prompt for connectors installation on first access to Subversive. Denis, please make sure that you have access to the Internet and you configured proxy correctly.
Our product has its own installer and doesn't provide this granularity of options during installation, so the customer always gets it. A subset of the customers may need to use SVN and Mylyn. So to keep the installation simple, it always gets installed. Even for SVN users though, I think the dialog might still be a bit intrusive. Perhaps a helpful link in a certain SVN-related dialog or view that SVN users would always stumble upon? Or if you feel strongly about the dialog, can we wait to open it until you've determined that the user is indeed interested in SVN, e.g. the user has opened an SVN view, perspective, or has invoked some SVN function?
Curtis, SVN connectors are a core part of Subversive and Subversive cannot work without them. The only reason why connectors are distributed from outside is incompatibility with EPL license (really long and sad story). That's why we need to invent the wheel and show dialog for their installation. If you make an own distribution you can include connectors into the distribution (together with Subversive) and in this case you will not get an error. You correctly mentioned that dialog should appear only when the user access SVN functionality the first time. It's really works by this way. But as I explained in the previous post - if Mylyn integration is installed Mylyn tries to access Subversive during Eclipse start (and connectors discovery is initiated as a result) - that's why you see dialog on Eclipse startup even if you don't work with SVN. As you see - it's not a Subversive design issue. But there are two factors that determine current behaviour: a) Connectors are integral part of the project but they aren't distributed; b) Mylyn integration tries to access SVN automatically at start up. So at the current moment I can suggest only following workarounds: 1. You can include into your Eclipse distribution Subversive together with connectors. If you need cross-platform connectors - use SVNKit. 2. Exclude Mylyn integration from distribution 3. Exclude Subversive from distribution - let users to install it manually from Helios update site
Would it be possible to tweak the behavior to only open the dialog once an SVN-related view or editor or dialog is opened, instead of just whenever some SVN code is invoked? This way, products and distributions wouldn't need to do any workarounds.
It isn't so easy. But we will take a look what we can do here.
> Denis, please make sure that you have access to the Internet and you configured > proxy correctly. Now THAT is funny. :-)
Now that job will be started once at first SVN UI plug-in activation only. All the following plug-in activations won't start the "discovery job" if it was cancelled/performed/interrupted the first time. This first time happens only in case UI plug-in was actually loaded (by default it won't be loaded due to "plug-ins lazy-loading" policy).
This fix does not appear to be working in our product because of the fix for bug 336689. The fix for that bug was to make the org.eclipse.team.svn.ui plugin implement the org.eclipse.ui.startup extension point, which means it is always loaded when the IDE starts, regardless if the the user has requested and SVN features or activities or not.
...has requested *any* SVN features or activities or not.
Could it be that the org.eclipse.team.svn.core plugin should implement the startup extension point instead of the ui plugin?
I assert that this bug is not fixed and should be reopened, because as long as the org.eclipse.team.svn.ui plugin implements the org.eclipse.ui.startup extension point, then it will always be loaded at IDE startup time and the user will always be prompted for svn connector discovery, even if they have not done anything svn related. In my case I have even turned all the svn plugins off with an activity but the connector discovery dialog still pops up because of the startup impl. My workaround for now is to comment out the org.eclipse.ui.startup extension point impl in the plugin.xml of the org.eclipse.team.svn.ui plugin, but this may cause some negative side effects, such as regressing bug 336689.
Now I have the reverse issue: On preparing a shared installation for all developers I have to trigger the connector discovery somehow. No idea how to do that in a generic way. Suggestion: Extend the Preferences / Team / SVN / SVN Connector tab by a button to start discovery. Here I would expect it in the first place. Many thank, Jörg
Update: After deleting my (temporary) workspace from the last shared installation and restarting with a fresh one, the connector discovery is automatically started if the workbench has been restarted. Sounds strange to me... Would prefer that "Start discovery..." button anyway.
I found that the state of the connector discovery process is stored in the following file in the workspace: workspace/.metada/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.svn.ui.prefs If you change the line: firstStartup=false to firstStartup=true then the connector discovery process will begin on startup again.
This bug still needs to be re-opened re: https://bugs.eclipse.org/bugs/show_bug.cgi?id=319292#c12
Thanks for your findings! I would rather create a new ticket, e.g. with the explicit discovery button (and possibly other issues to be resolved). What do you think?
I agree it would be nice to be able restart the connector discovery process through the UI, but that is unrelated to this particular bug. I am lobbying that this bug we are commenting on is not fixed and should be re-opened based on my other comments above. Thanks.
Please see comments 9, 10, 11, 12 above.
I've added a separate issue for this problem, since it is related to the startup extension point: bug #403975.
Yet another related issue: bug #403980.